Sith/.github/workflows/deploy.yml
2022-08-26 16:39:49 +02:00

52 lines
1.4 KiB
YAML

name: Deploy to production
concurrency: production
on:
push:
branches: [master]
workflow_run:
workflows: [Sith3 CI]
types: [completed]
workflow_dispatch:
jobs:
# Runs only if Unit tests are successful
deployment:
runs-on: ubuntu-latest
if: ${{github.event.workflow_run.conclusion == 'success'}}
environment: production
timeout-minutes: 30
steps:
- name: SSH Remote Commands
uses: appleboy/ssh-action@dce9d565de8d876c11d93fa4fe677c0285a66d78
with:
# Proxy
proxy_host : ${{secrets.PROXY_HOST}}
proxy_port : ${{secrets.PROXY_PORT}}
proxy_username : ${{secrets.PROXY_USER}}
proxy_passphrase: ${{secrets.PROXY_PASSPHRASE}}
proxy_key: ${{secrets.PROXY_KEY}}
# Serveur web
host: ${{secrets.HOST}}
port : ${{secrets.PORT}}
username : ${{secrets.USER}}
key: ${{secrets.KEY}}
script_stop: true
# See https://github.com/ae-utbm/sith3/wiki/GitHub-Actions#deployment-action
script: |
export PATH="$HOME/.poetry/bin:$PATH"
pushd ${{secrets.SITH_PATH}}
VERSION_LAST=$(git rev-parse HEAD)
git pull
poetry update
poetry run ./manage.py migrate
echo "yes" | poetry run ./manage.py collectstatic
poetry run ./manage.py compilestatic
poetry run ./manage.py compilemessages
sudo systemctl restart uwsgi