name: Deploy to home on: push: branches: - main workflow_dispatch: jobs: deploy: runs-on: [self-hosted, linux] steps: - name: Deploy via SSH shell: bash run: | echo "Démarrage de la connexion et réplication Git native..." # La commande principale utilise id_home car la clé est sur le RUNNER ssh -o StrictHostKeyChecking=no -o BatchMode=yes -i /root/.ssh/id_ed25519 root@home.mesdonneesadministratives.fr " cd /opt/alapatch && echo '=> [1/4] Configuration du Remote en SSH natif...' && git remote set-url origin git@git.mesdonneesadministratives.fr:cvancau/alapatch.git || git remote add origin git@git.mesdonneesadministratives.fr:cvancau/alapatch.git && echo '=> [2/4] Synchronisation Git native...' && # On retire le -i /root/.ssh/id_home car le serveur 'home' utilise sa clé par défaut GIT_SSH_COMMAND='ssh -o StrictHostKeyChecking=no -o BatchMode=yes' git fetch --all && GIT_SSH_COMMAND='ssh -o StrictHostKeyChecking=no -o BatchMode=yes' git reset --hard origin/main && git clean -fd && echo '=> [3/4] Build de l-image Docker (Node 22 / Vite)...' && docker build -t alapatch-prod . && echo '=> [4/4] Recyclage du conteneur sur le port 4321...' && if [ \$(docker ps -aq -f name=microkorg-editor) ]; then docker stop microkorg-editor && docker rm microkorg-editor; fi && docker run -d --restart unless-stopped -p 4321:4321 --name microkorg-editor alapatch-prod && echo '=> Déploiement terminé avec succès !' "