Sommaire
Buildout
Buildout est actuellement le système de déploiement d'applications Python pour les _systèmes d'information_ à Montréal.
Ce n'est cependant pas la méthode recommandée pour les applications d'administration système ou de gestion d'infrastructure, qui doivent se limiter à utiliser les paquets disponibles avec la version Debian installée (ou ses backports).
Buildout permet de gérer les dépendances, crée un environnement virtuel similaire a virtualenv, etc.
Création d'un projet avec Buildout
Nous disposons d'un squelette Buildout Django à l'AUF qui recense nos bonnes pratiques.
- Télécharger le fichier qui servira à boostraper le projet
wget 'http://git.auf.org/?p=olivier.git;a=blob_plain;f=bootstraper/mk_django_project.py;hb=HEAD' -O mk_django_project.py
Lors d'un développement local, il est utile de faire les installations dans un environnement virtuel avec virutalenv. Ceci reste néanmoins optionnel (car le script se charge de récupérer la dernière version), mais fortement conseillé.
- Lancer le script
python mk_django_project.py
- Répondre aux questions
À la fin de la procédure, un petit récapitulatif des choses à faire est affiché.
Utilisation
Environnement de développement
$ python bootstrap.py $ bin/buildout -c devel.cfg $ bin/django runserver
Environnement de production
$ python bootstrap.py $ bin/buildout
Buildout a généré un django.wsgi dans bin, il suffira de configurer Apache pour l'utiliser