Améliorer le workflow de déploiement en simplifiant la gestion du contenu du fichier .env et en nettoyant le code.

This commit is contained in:
Arthur
2025-09-13 23:21:52 +02:00
parent ad0c45addf
commit 1cceb321f7
+12 -11
View File
@@ -3,11 +3,12 @@ name: Deploy to VM Prod
on:
push:
branches:
- main
- main
jobs:
deploy:
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v3
@@ -15,28 +16,28 @@ jobs:
- name: Deploy to production
run: |
REPO_NAME=${{ github.event.repository.name }}
ENV_CONTENT="${{ secrets.ENV_FILE || '' }}"
if [ -z "${{ secrets.ENV_FILE }}" ]; then
ENV_CONTENT=""
else
ENV_CONTENT="${{ secrets.ENV_FILE }}"
fi
ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} bash -s << 'EOF'
REPO_NAME='"$REPO_NAME"'
ENV_CONTENT='"$ENV_CONTENT"'
ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "
mkdir -p /srv/$REPO_NAME
cd /srv/$REPO_NAME
# Supprime tout si le repo n'existe pas encore
if [ ! -d .git ]; then
rm -rf ./* # vide le dossier si nécessaire
rm -rf ./*
git clone https://github.com/arthur-pbty-labs/$REPO_NAME .
else
git reset --hard
git pull origin main
fi
if [ -n \"$ENV_CONTENT\" ]; then
echo \"$ENV_CONTENT\" > .env
# Crée .env seulement si contenu non vide
if [ -n "$ENV_CONTENT" ]; then
echo "$ENV_CONTENT" > .env
fi
docker compose up -d --build
"
EOF