Conexión con servidores remotos
Nuevo tipUna de las formas más sencillas de automatizar tareas, cuando trabajamos con servidores remotos, es haciendo uso de la librería Fabric. A través de esta librería seremos capaces de ejecutar comandos de terminal de forma remota, utilizando el protocolo SSH.
Automatizar deploys, realizar respaldo de base de datos, ejecución periódicas de tareas y mucho más con Fabric.
from fabric.api import *
# host
env.hosts = [IP]
# username
env.user = 'USER'
# pecify path to server public key here:
env.key_filename = '~/.ssh/id_rsa.pub'
@task
def deploy():
with cd('python-web-project'):
run('git pull')
with prefix('source myprojectenv/bin/activate'):
run('pip install -r requirements.txt)
run('python manange.py migrate')
run('python manage.py collectstatic --noinput')
sudo('systemctl daemon-reload')
sudo('supervisorctl python-web-project')
sudo('systemctl restart gunicorn')
print('>>> Deploy completed!')