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