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: 🔐 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: 🚀 Deploy Docker run: | ssh \ -i ~/.ssh/id_ed25519 \ ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} << 'EOF' set -e echo "📂 Projet" cd /data/docker/landing-api echo "⬇️ Pull nouvelle image" docker compose pull echo "🚀 Redémarrage" docker compose up -d echo "🗄️ Migration Laravel" docker compose exec -T app \ php artisan migrate --force echo "🧹 Nettoyage" docker image prune -f echo "✅ Déploiement terminé" EOF