Files
colibre/.github/workflows/deploy.yaml
T
2026-04-24 13:35:49 +02:00

52 lines
1.7 KiB
YAML

name: Déploiement
on:
workflow_dispatch:
pull_request:
types:
- closed
push:
branches:
- dev
jobs:
deploy:
# Trigger deploy workflow if
# ...I clicked on "Run workflow" in Github actions, thus deploy main to production env (main)
# or
# ...I merged a PR or pushed on the dev branch, thus deploy to the test env (dev)
if: |
(github.event_name == 'workflow_dispatch' && github.ref_name == 'main') ||
((github.event_name == 'pull_request' || github.event_name == 'push') && github.ref_name == 'dev')
runs-on: ubuntu-latest
environment: ${{ github.ref_name }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Set up SSH key
run: |
env
mkdir -p ~/.ssh
echo "${{ secrets.ARTIFACT_SSH_KEY }}" > /home/runner/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -p ${{ secrets.ARTIFACT_PORT }} ${{ secrets.ARTIFACT_HOST }} >> ~/.ssh/known_hosts
sudo apt-get install sshpass python3 python3-pip
- name: Deploy to server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.ARTIFACT_HOST }}
username: ${{ secrets.USER }}
port: ${{ secrets.ARTIFACT_PORT }}
key: ${{ secrets.ARTIFACT_SSH_KEY }}
passphrase: ${{ secrets.SSH_PSWD }}
command_timeout: 5m
script: |
systemctl stop ${{ vars.APP_NAME }}
cd /var/www/${{ vars.APP_NAME }}
git pull
source .venv/bin/activate
pip install .
deactivate
chown -R ${{ vars.APP_NAME }}:www-data *
systemctl start ${{ vars.APP_NAME }}