Skip to content

Instantly share code, notes, and snippets.

@eduardogpg
Last active September 30, 2023 00:27
Show Gist options
  • Save eduardogpg/eadd77dfcd45463632e4df82b3fc766a to your computer and use it in GitHub Desktop.
Save eduardogpg/eadd77dfcd45463632e4df82b3fc766a to your computer and use it in GitHub Desktop.

Revisions

  1. eduardogpg revised this gist Sep 30, 2023. 1 changed file with 22 additions and 1 deletion.
    23 changes: 22 additions & 1 deletion fabric_auto_deploy.py
    Original file line number Diff line number Diff line change
    @@ -5,6 +5,8 @@
    from fabric.api import prefix
    from fabric.api import sudo
    from fabric.api import run
    from fabric.api import get
    from fabric.api import put # scp

    env.user = 'eduardo'
    env.hosts = ['147.182.241.110']
    @@ -37,4 +39,23 @@ def deploy():
    run('python manage.py migrate')

    sudo('systemctl restart django')
    sudo('systemctl restart nginx')
    sudo('systemctl restart nginx')


    @task(alias='download_log')
    def download_error_log():
    sudo('tail -n 1 /var/log/nginx/error.log.1 > tmp.log')

    get(
    local_path='error_log.log',
    remote_path='/home/eduardo/tmp.log'
    )

    sudo('rm tmp.log')

    @task(alias='upload')
    def upload_file():
    put(
    local_path='Makefile',
    remote_path='/home/eduardo/Makefile'
    )
  2. eduardogpg created this gist Sep 30, 2023.
    40 changes: 40 additions & 0 deletions fabric_auto_deploy.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    from fabric.api import task
    from fabric.api import local
    from fabric.api import cd
    from fabric.api import env
    from fabric.api import prefix
    from fabric.api import sudo
    from fabric.api import run

    env.user = 'eduardo'
    env.hosts = ['147.182.241.110']


    def make_deploy(commit=''):
    run_test()

    local('git add --all')
    local(f'git commit -m "{commit}"')
    local('git push origin main')
    deploy()


    def run_test():
    local('python test.py')


    def deploy_if_test():
    run_test()
    deploy()


    def deploy():
    with cd('/home/eduardo/project/tiendaDeBarrio'):
    run('git pull')

    with prefix('source env/bin/activate'):
    run('pip install -r requirements.txt')
    run('python manage.py migrate')

    sudo('systemctl restart django')
    sudo('systemctl restart nginx')