diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2c1bd70..0599d25 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -15,13 +15,14 @@ jobs: with: fetch-depth: 0 - # 1. ÉTAPE DES TESTS (Obligatoire pour un bon rapport Sonar) - - name: Installation et Tests Node.js + # 1. ÉTAPE DES TESTS (On cible spécifiquement le dossier backend du mono-repo) + - name: Installation et Tests Node.js (Backend) run: | + cd ndf/public/backend npm install npm test -- --coverage --watchAll=false - # 2. ÉTAPE SONARQUBE + # 2. ÉTAPE SONARQUBE (Analyse du code backend) - name: Analyse SonarQube uses: sonarsource/sonarqube-scan-action@master env: @@ -30,13 +31,21 @@ jobs: with: args: > -Dsonar.projectKey=ndf-gitea - -Dsonar.javascript.lcov.reportPaths=coverage/lcov.info + -Dsonar.sources=ndf/public/backend + -Dsonar.javascript.lcov.reportPaths=ndf/public/backend/coverage/lcov.info deploy: - needs: test-and-quality # On ne déploie QUE si les tests et Sonar sont OK + needs: test-and-quality runs-on: ubuntu-latest steps: - - name: Déploiement sur Portainer + - name: Récupération du code pour le déploiement + uses: actions/checkout@v3 + + # 3. DÉPLOIEMENT FULLSTACK DE TOUT LE MONO-REPO + - name: Déploiement de la nouvelle Stack Gitea run: | - echo "Ici on lance le script curl pour mettre à jour ta stack Portainer" - # On utilisera ton script node ou curl ici \ No newline at end of file + # On lance le docker-compose global de la racine. + # L'option '-p gitea-action-dev' crée une stack Portainer dédiée et isolée de Jenkins. + # Le '--build' force la recompilation du Front ET du Back en même temps. + # On décale les ports pour Gitea (81 et 3001) pour éviter de toucher à Jenkins + PORT_FRONT=81 PORT_BACK=3001 docker compose -p gitea-action-dev up -d --build \ No newline at end of file