On Github ThomasG77 / presentation_fabric
Lancer
pip install fabric
Insérer le contenu ci-dessous
#!/usr/bin/env python # -*- coding: utf-8 -*- from fabric.api import * # Utilisateur pour la connexion distante env.user = 'utilisateurapplication' # Urls des serveurs de déploiement env.hosts = ['server1.exemple.com', 'server2.exemple.com'] def deploy(): ...
Exécuter avec
fab server1.exemple.com
Un outil fournissant des helpers de plus haut niveau pour Fabric.
Installer avec
pip install fabtools
Dans le fabfile.py
from fabric.api import * from fabtools import require import fabtools deploy(): require.deb.packages([ 'imagemagick', 'libxml2-dev', ])
Installation de paquets (require.deb, require.rpm)
require.deb.packages([ 'imagemagick', 'libxml2-dev', ])
Installation de serveur et configuration (require.apache, require.nginx, require.tomcat, require.nodejs)
require.apache.server() fabtools.require.apache.site_enabled(config)
Bases de données (fabtools.mysql, fabtools.postgres)
require.postgres.server() require.postgres.user('myuser', 's3cr3tp4ssw0rd') require.postgres.database('myappsdb', 'myuser')
Versionning (fabtools.git, fabtools.mercurial)
fabtools.require.git.working_copy(remote_url, path=None, branch='master', update=True, use_sudo=False, user=None)
Services et processus (fabtools.service, fabtools.systemd, fabtools.cron)
cron.add_task('cleanup', '@monthly', 'alice', '/home/alice/bin/cleanup.sh')
Groupes et utilisateurs (fabtools.group, fabtools.user)
if not fabtools.user.exists('alice'): fabtools.user.create('alice')
Vagrant (fabtools.vagrant)
Site de Fabric http://www.fabfile.org
Site de Fabtools http://fabtools.readthedocs.org
Folder Tree par Juan Pablo Bravo (via The Noun Project) CC BY 3.0
Data center par BobMical CC BY 2.0