feat: mettre à jour le flux de travail de déploiement pour déclencher sur la branche principale et améliorer le processus de transfert de source

This commit is contained in:
mirage
2026-03-27 09:18:20 +01:00
parent b381d024c7
commit 5a7a37702f

View File

@@ -1,7 +1,10 @@
name: Deploy Webzine
run-name: Deploy to production by @${{ github.actor }}
on: [push]
on:
push:
branches:
- main
jobs:
# ─────────────────────────────────────────────
@@ -12,6 +15,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
# Écriture de la clé SSH dans un fichier temporaire
- name: Setup SSH key
run: |
@@ -20,16 +26,15 @@ jobs:
chmod 600 ~/.ssh/id_prod
ssh-keyscan -p ${{ secrets.PROD_SSH_PORT || 22 }} ${{ secrets.PROD_HOST }} >> ~/.ssh/known_hosts 2>/dev/null
# Transfert du code source sur le serveur
- name: Checkout code
uses: actions/checkout@v4
# Compression du code source et transfert vers le serveur
- name: Upload source to server
run: |
rsync -az --delete \
-e "ssh -i ~/.ssh/id_prod -p ${{ secrets.PROD_SSH_PORT || 22 }} -o StrictHostKeyChecking=no" \
./ \
${{ secrets.PROD_USER }}@${{ secrets.PROD_HOST }}:/opt/webzine/prod/src/
tar --exclude='.git' --exclude='*.user' -czf /tmp/webzine-src.tar.gz .
scp -i ~/.ssh/id_prod \
-P ${{ secrets.PROD_SSH_PORT || 22 }} \
-o StrictHostKeyChecking=no \
/tmp/webzine-src.tar.gz \
${{ secrets.PROD_USER }}@${{ secrets.PROD_HOST }}:/tmp/webzine-src.tar.gz
# Build et redémarrage du conteneur directement sur le serveur
- name: Build and deploy on PRODUCTION server
@@ -40,6 +45,11 @@ jobs:
${{ secrets.PROD_USER }}@${{ secrets.PROD_HOST }} << 'ENDSSH'
set -e
echo "=== [PROD] Extraction des sources ==="
mkdir -p /opt/webzine/prod/src
tar -xzf /tmp/webzine-src.tar.gz -C /opt/webzine/prod/src/
rm /tmp/webzine-src.tar.gz
echo "=== [PROD] Construction de l'image ==="
docker build \
-t webzine:latest \