Ads by Google Pages 1 2 3 4 5 6 7 . . . 120 121 122 Blog “RDX Wall Art: The Making Of” is a new short documentary highlighting some of the pioneers highlighting more ... - “RDX Wall Art: The Making Of” iand new short documentary iand new short isa new short - isa new short documentary - highlighting iand new sho documentary - some of the pioneers highlighting iand new sho more ... Forun Media Archive Home | Login | Register | Contact My Website Buy content Note here
noyau • Configurer le firewall • Configurer un serveur web • Configurer un serveur SMTP • Créer des bases de données • Créer des répertoires • Créer des groupes • Créer des utilisateurs • Modifier des permissions • Activer/désactiver des services • Créer des tâches périodiques
– Installer les dépendances – Créer la base de données – Configurer le serveur web – Lancer l'appli • Déploiements ultérieurs – Mettre à jour le code – Mettre à jour les dépendances – Migrer le schéma de données – Relancer l'appli
on écrit du Python, pas des scripts shell – modulable, simple et efficace • Les manques – ça reste assez bas niveau – peu de primitives pour manipuler fichiers, utilisateurs...
fabric – tâches courantes : utilisateurs, fichiers, paquets, etc. • fabtools.require – configuration déclarative vs. impérative – inspiré par des outils comme Chef ou Puppet... en plus léger
require def python_packages(): # Je veux que ce paquet soit installé globalement require.python.package('lxml', use_sudo=True) # Je veux un virtualenv require.python.virtualenv('venv') # Je veux que ces paquets soient installés dans le virtualenv with virtualenv('venv'): require.python.packages(['pyramid', 'gunicorn'])