PyWombat

Conexión con servidores remotos

Nuevo tip

Una 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!')