Você recebe a seguinte missão: Fazer o deploy de uma aplicação XPTO em 10 servidores.

Fazer isso em um servidor é tranquilo você gasta no máximo 5 minutos, agora faz esse processo acima em 10 servidores!
Uma maneira de resolver isso é usando o Fabric, uma ferramenta bem simples que você escreve funções Python com os comandos shell que você precisa executar, o Fabric vai ler a lista de servidores e vai executar a função de deploy em cada um.
Vamos escrever um arquivo fabfile.py que o arquivo padrão que o Fabric vai ler.
from fabric.api import run, env
env.hosts = ['10.0.0.1',
'10.0.0.2',
'10.0.0.3',
'10.0.0.4',
'10.0.0.5',
'10.0.0.6',
'10.0.0.7',
'10.0.0.8',
'10.0.0.9',
'10.0.0.10']
env.user = 'deploy'
env.key_filename = '~/devops/XPTO/deploy.pem'
def deploy_XPTO():
'''Não é só você que vai usar isso! Então documente. Essa função faz deploy!'''
run('cd /srv/XPTO')
run('git pull')
run('service php-fpm restart')
OK, nossa “receita de bolo” de deploy está pronta, vamos executar mas antes vamos ver a descrição do que a receita faz digite fab -l.
# fab -l Available commands: deploy_XPTO Não é só vc que vai usar isso! Entao documente. Essa função faz deploy!
Agora vamos executar o deploy.
# fab deploy_XPTO [10.0.0.1] Executing task 'deploy_XPTO' [10.0.0.1] run: cd /srv/XPTO ....
E Abracadabra! Eu não preciso dizer que você só vai executar o deploy depois que o código foi muito bem testado!
Mas a ideia aqui é mostrar um jeito de automatizar um deploy em um exemplo bem simples, Fabric faz muito mais que isso, o Instagram usava ele para fazer o deploy antes de ser comprado pelo Facebook veja aqui. E a última dica não se intimide com as funções python do Fabric, Python é mais fácil do que você imagina!
Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.