fabric: une aide au développement pour WaterOnMars
Bien que je passe désormais bien plus de temps à utiliser mon lecteur de flux WaterOnMars qu'à le développer, je continue petit à petit à l'améliorer et pour me simplifier la vie j'ai pu encore une fois compter sur un projet particulièrement bien ficelé: fabric !
fabric est une application Python en ligne de commande dont le but premier est de simplifier les actions "à distance": typiquement le déploiement d'une application sur un serveur.
Je l'utilise donc pour déployer WaterOnMars sur mon serveur perso, déployer la démo sur heroku mais plus récemment j'ai ajouté la configuration de fabric (le "fabfile") aux sources de WaterOnMars comme une aide officiellement maintenue pour les diverses tâches de maintenance: lancement des tests, initialisation de la db, servir le site en local et déploiement sur un serveur au choix.
Ce qui me plaît bien avec fabric:
Avec plus de détails dans le fichier fabfile.py de WaterOnMars bien sûr.
- ça s'installe avec pip, sans aucun souci, et hop dans mon virtualenv j'ai la commande "fab" qui est immédiatement disponible
- ça se configure super-simplement avec un seul fichier Python
- j'ai eu zero problème pour lancer des commandes à distances ((demande de mot de passe et récupération des logs et interactions en console sont parfaitement gérés))
- il y a aussi des facilités pour définir des commandes à lancer en local
[{userA}@{hostX}] site_dir = ~/path/to/wateronmars_site virtual_env_dir = ../venv final_deploy_action = touch /path/to/passenger/tmp/restart.txt