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:
@@ -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 \
|
||||
|
||||
Reference in New Issue
Block a user