Files
leonm 8ef1a3cff8
CI / 🧪 Tests Laravel (push) Successful in 2m13s
CI / 🐳 Build & Push Images (push) Successful in 1m5s
feat: try fix ci cd
2026-08-13 14:30:46 +02:00

68 lines
1.9 KiB
YAML

name: CD
on:
workflow_run:
workflows:
- CI
branches:
- main
types:
- completed
jobs:
deploy:
name: Déploiement production
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configuration SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_SSH_KEY }}" \
> ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan \
-H "${{ secrets.DEPLOY_HOST }}" \
>> ~/.ssh/known_hosts
- name: Synchronisation de la configuration Docker
run: |
ssh \
-i ~/.ssh/id_ed25519 \
${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} \
"mkdir -p /data/stacks/bowli-api/docker/database-backup"
scp \
-i ~/.ssh/id_ed25519 \
docker-compose.prod.yml \
${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:/data/stacks/bowli-api/docker-compose.yml
scp \
-i ~/.ssh/id_ed25519 \
docker/database-backup/restore-production \
${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:/data/stacks/bowli-api/docker/database-backup/restore-production
ssh \
-i ~/.ssh/id_ed25519 \
${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} \
"chmod 755 /data/stacks/bowli-api/docker/database-backup/restore-production"
- name: 🚀 Deploy Docker
run: |
ssh \
-i ~/.ssh/id_ed25519 \
${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} << 'EOF'
set -e
echo "Projet"
cd /data/stacks/bowli-api
echo "Pull nouvelle image"
docker compose pull
echo "Redémarrage"
docker compose up -d --wait --wait-timeout 180
EOF