Anomalie #207
Déploiement et environnement de production
50%
Description
Définir les outils que nous souhaitons utiliser pour faciliter le déploiement et la mise en production.
Ce qui semble se faire :
- bower pour la gestion des packages web (jquery, foundation, etc...)
- grunt pour la gestion des fichiers statics (permet entre autre de compresser les css/js pour la production)
- south pour les migrations de la base
- fabric pour déployer à distance
- gunicorn comme pre-fork manager
Files
Updated by Baptiste Jonglez almost 9 years ago
- Status changed from Nouveau to En cours
- % Done changed from 0 to 50
Django 1.7 a une gestion des migrations intégrées, pas besoin de South.
Il y a une documentation de l'utilisation de Gunicorn en reverse proxy, cf. https://code.ffdn.org/zorun/coin/src/master/DEPLOYMENT.md
Updated by Baptiste Jonglez almost 9 years ago
Capslock propose également d'utiliser un "Asset Manager" : https://www.djangopackages.com/grids/g/asset-managers/
Updated by CapsLock CapsLock almost 9 years ago
- File coin-ansible.tar.gz coin-ansible.tar.gz added
Pour ma part j'ai choisi de passer du temps sur la rédaction d'un playbook Ansible.
Voici ce qu'il fait dans les grandes lignes:
-installer les prérequis logiciels
-créer un utilisateur unix dont le home sert à stocker les fichiers de Coin et à faire tourner le serveur applicatif
-installation; configuration de postgresql
-configuration de coin (avec du template jinja2)
-Installation/configuration de lighttpd en reverse proxy (débrayable, on peut proposer du nginx aussi c'est pas couteux à faire)
Je vous propose une préversion en PJ.
Ca juste marche (testé sur du debian wheezy, fresh).
Reste à écrire les étapes pour utiliser Ansible.
Le seul prérequis sur la machine cible c'est d'avoir sudo; que l'utilisateur utilisé par ansible ait les droit sudo; qu'une clé ssh soit ajoutée pour que ansible puisse faire du ssh directement.