2022-08-25 20:23:13 +00:00
|
|
|
name: Deploy to production
|
2022-08-26 12:39:10 +00:00
|
|
|
concurrency: production
|
2022-08-25 20:23:13 +00:00
|
|
|
|
|
|
|
on:
|
2022-08-26 11:20:57 +00:00
|
|
|
push:
|
2023-09-19 20:17:26 +00:00
|
|
|
branches: [master]
|
2022-08-26 11:20:57 +00:00
|
|
|
workflow_dispatch:
|
2022-08-25 20:23:13 +00:00
|
|
|
|
|
|
|
jobs:
|
2022-08-26 11:26:41 +00:00
|
|
|
deployment:
|
2022-08-25 20:23:13 +00:00
|
|
|
runs-on: ubuntu-latest
|
2022-08-26 11:26:41 +00:00
|
|
|
environment: production
|
2022-08-26 12:39:10 +00:00
|
|
|
timeout-minutes: 30
|
2022-08-26 11:26:41 +00:00
|
|
|
|
2022-08-25 20:23:13 +00:00
|
|
|
steps:
|
2022-08-26 11:20:57 +00:00
|
|
|
- name: SSH Remote Commands
|
2022-08-26 12:10:37 +00:00
|
|
|
uses: appleboy/ssh-action@dce9d565de8d876c11d93fa4fe677c0285a66d78
|
2022-08-26 11:20:57 +00:00
|
|
|
with:
|
|
|
|
# Proxy
|
2022-08-26 11:58:45 +00:00
|
|
|
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}}
|
2022-08-26 11:20:57 +00:00
|
|
|
|
|
|
|
# Serveur web
|
2022-08-26 11:58:45 +00:00
|
|
|
host: ${{secrets.HOST}}
|
|
|
|
port : ${{secrets.PORT}}
|
|
|
|
username : ${{secrets.USER}}
|
|
|
|
key: ${{secrets.KEY}}
|
2022-08-25 20:23:13 +00:00
|
|
|
|
2022-08-26 14:39:49 +00:00
|
|
|
script_stop: true
|
|
|
|
|
2022-08-26 12:39:10 +00:00
|
|
|
# See https://github.com/ae-utbm/sith3/wiki/GitHub-Actions#deployment-action
|
2022-08-26 11:58:45 +00:00
|
|
|
script: |
|
2022-12-15 22:55:29 +00:00
|
|
|
export PATH="/home/sith/.local/bin:$PATH"
|
2022-08-26 14:12:17 +00:00
|
|
|
pushd ${{secrets.SITH_PATH}}
|
2022-08-26 12:39:10 +00:00
|
|
|
|
|
|
|
git pull
|
2024-07-16 16:39:54 +00:00
|
|
|
poetry install --with prod --without dev,docs,tests
|
2024-07-04 17:44:22 +00:00
|
|
|
poetry run ./manage.py install_xapian
|
2022-08-26 12:39:10 +00:00
|
|
|
poetry run ./manage.py migrate
|
|
|
|
echo "yes" | poetry run ./manage.py collectstatic
|
|
|
|
poetry run ./manage.py compilestatic
|
|
|
|
poetry run ./manage.py compilemessages
|
|
|
|
|
2022-08-26 19:33:18 +00:00
|
|
|
sudo systemctl restart uwsgi
|
2022-08-26 21:19:29 +00:00
|
|
|
|
|
|
|
sentry:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
environment: production
|
|
|
|
timeout-minutes: 30
|
2022-08-27 19:56:46 +00:00
|
|
|
needs: deployment
|
2022-08-26 21:19:29 +00:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
2022-08-26 19:33:18 +00:00
|
|
|
|
2022-08-26 21:19:29 +00:00
|
|
|
- name: Sentry Release
|
|
|
|
uses: getsentry/action-release@v1.2.0
|
|
|
|
env:
|
|
|
|
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
|
|
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
|
|
|
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
|
|
|
SENTRY_URL: ${{ secrets.SENTRY_URL }}
|
|
|
|
with:
|
|
|
|
environment: production
|