From 72440a7af51f97344d09db4b4695ac5eba271720 Mon Sep 17 00:00:00 2001 From: soufiane Date: Mon, 3 Nov 2025 20:04:27 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20index.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 46 ++++++++++++++++++++++++++++++++++++++++------ index.js | 2 +- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1e6ea19b..01873601 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,15 +1,21 @@ pipeline { agent any + // πŸ” VΓ©rifie automatiquement toutes les 2 minutes s’il y a des commits sur Gitea triggers { - // VΓ©rifie toutes les 2 minutes les changements sur Gitea pollSCM('H/2 * * * *') } + // βš™οΈ Choix de l’environnement de dΓ©ploiement parameters { - choice(name: 'ENV', choices: ['dev', 'preprod', 'prod'], description: 'Choisir l’environnement de dΓ©ploiement') + choice( + name: 'ENV', + choices: ['dev', 'preprod', 'prod'], + description: 'Choisir l’environnement de dΓ©ploiement' + ) } + // 🌍 Variables globales environment { REGISTRY_URL = "registry.wk-archi-o24a-15m-g3.fr" IMAGE_NAME = "the-tip-top-backend" @@ -18,6 +24,10 @@ pipeline { } stages { + + /* ─────────────────────────────── + * 1️⃣ RΓ©cupΓ©ration du code source + * ─────────────────────────────── */ stage('Checkout') { steps { echo "πŸ“¦ RΓ©cupΓ©ration du code source depuis Gitea..." @@ -25,6 +35,9 @@ pipeline { } } + /* ─────────────────────────────── + * 2️⃣ Tests de qualitΓ© et unitaires + * ─────────────────────────────── */ stage('Tests & QualitΓ©') { steps { echo "πŸ§ͺ Lancement des tests et analyse de code..." @@ -36,6 +49,9 @@ pipeline { } } + /* ─────────────────────────────── + * 3️⃣ Informations de contexte + * ─────────────────────────────── */ stage('Show Environment Info') { steps { echo "🌍 Environnement : ${params.ENV}" @@ -44,29 +60,38 @@ pipeline { } } + /* ─────────────────────────────── + * 4️⃣ Construction de l’image Docker + * ─────────────────────────────── */ stage('Build Docker image') { steps { echo "🐳 Construction de l’image Docker backend..." - sh ''' + sh """ docker build -t ${REGISTRY_URL}/${IMAGE_NAME}:${TAG} . docker tag ${REGISTRY_URL}/${IMAGE_NAME}:${TAG} ${REGISTRY_URL}/${IMAGE_NAME}:latest - ''' + """ } } + /* ─────────────────────────────── + * 5️⃣ Envoi au registre Docker privΓ© + * ─────────────────────────────── */ stage('Push to Registry') { steps { echo "πŸ“€ Envoi de l’image vers le registre Docker privΓ©..." withCredentials([usernamePassword(credentialsId: 'registry-credentials', usernameVariable: 'REG_USER', passwordVariable: 'REG_PASS')]) { - sh ''' + sh """ echo "$REG_PASS" | docker login ${REGISTRY_URL} -u "$REG_USER" --password-stdin docker push ${REGISTRY_URL}/${IMAGE_NAME}:${TAG} docker push ${REGISTRY_URL}/${IMAGE_NAME}:latest - ''' + """ } } } + /* ─────────────────────────────── + * 6️⃣ Sauvegarde avant dΓ©ploiement + * ─────────────────────────────── */ stage('Backup Before Deploy') { steps { echo "πŸ’Ύ ExΓ©cution du script de sauvegarde avant dΓ©ploiement..." @@ -80,6 +105,9 @@ pipeline { } } + /* ─────────────────────────────── + * 7️⃣ DΓ©ploiement Docker Compose + * ─────────────────────────────── */ stage('Deploy') { steps { echo "πŸš€ DΓ©ploiement du backend sur ${params.ENV}..." @@ -96,6 +124,9 @@ pipeline { } } + /* ─────────────────────────────── + * 8️⃣ VΓ©rification du dΓ©ploiement + * ─────────────────────────────── */ stage('Health Check') { steps { echo "🩺 VΓ©rification du backend aprΓ¨s dΓ©ploiement..." @@ -130,6 +161,9 @@ pipeline { } } + /* ─────────────────────────────── + * πŸ”š Post actions + * ─────────────────────────────── */ post { success { echo "βœ… Pipeline backend ${params.ENV} terminΓ© avec succΓ¨s !" diff --git a/index.js b/index.js index 308f81b3..b8628163 100644 --- a/index.js +++ b/index.js @@ -34,7 +34,7 @@ app.get("/db-check", async (req, res) => { // --- Route d’accueil (fix pour 'Cannot GET /') --- app.get("/", (req, res) => { - res.json({ message: "βœ… API ThΓ© Tip Top en ligne et opΓ©rationnelle 10000 !" }); + res.json({ message: "βœ… API ThΓ© Tip Top en ligne et opΓ©rationnelle 100001 !" }); }); // --- Monitoring Prometheus ---