diff --git a/Jenkinsfile b/Jenkinsfile index 382cb4f3..1e6ea19b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,17 +1,15 @@ pipeline { agent any - // πŸ” VΓ©rifie le code toutes les minutes (ou via Webhook Gitea) triggers { - pollSCM('* * * * *') + // VΓ©rifie toutes les 2 minutes les changements sur Gitea + pollSCM('H/2 * * * *') } - // βš™οΈ ParamΓ¨tre pour choisir l’environnement parameters { 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" @@ -20,10 +18,6 @@ pipeline { } stages { - - /* ─────────────────────────────── - * 1️⃣ Checkout du code source - * ─────────────────────────────── */ stage('Checkout') { steps { echo "πŸ“¦ RΓ©cupΓ©ration du code source depuis Gitea..." @@ -31,9 +25,6 @@ pipeline { } } - /* ─────────────────────────────── - * 2️⃣ Tests qualitΓ© et unitaires - * ─────────────────────────────── */ stage('Tests & QualitΓ©') { steps { echo "πŸ§ͺ Lancement des tests et analyse de code..." @@ -45,9 +36,14 @@ pipeline { } } - /* ─────────────────────────────── - * 3️⃣ Build de l’image Docker - * ─────────────────────────────── */ + stage('Show Environment Info') { + steps { + echo "🌍 Environnement : ${params.ENV}" + echo "πŸ“¦ Image : ${REGISTRY_URL}/${IMAGE_NAME}:${TAG}" + echo "πŸ“‚ Dossier de dΓ©ploiement : ${DEPLOY_PATH}" + } + } + stage('Build Docker image') { steps { echo "🐳 Construction de l’image Docker backend..." @@ -58,9 +54,6 @@ pipeline { } } - /* ─────────────────────────────── - * 4️⃣ Push vers le registre privΓ© - * ─────────────────────────────── */ stage('Push to Registry') { steps { echo "πŸ“€ Envoi de l’image vers le registre Docker privΓ©..." @@ -74,9 +67,6 @@ pipeline { } } - /* ─────────────────────────────── - * 5️⃣ Sauvegarde avant dΓ©ploiement - * ─────────────────────────────── */ stage('Backup Before Deploy') { steps { echo "πŸ’Ύ ExΓ©cution du script de sauvegarde avant dΓ©ploiement..." @@ -90,9 +80,6 @@ pipeline { } } - /* ─────────────────────────────── - * 6️⃣ DΓ©ploiement du backend - * ─────────────────────────────── */ stage('Deploy') { steps { echo "πŸš€ DΓ©ploiement du backend sur ${params.ENV}..." @@ -109,9 +96,6 @@ pipeline { } } - /* ─────────────────────────────── - * 7️⃣ VΓ©rification du dΓ©ploiement - * ─────────────────────────────── */ stage('Health Check') { steps { echo "🩺 VΓ©rification du backend aprΓ¨s dΓ©ploiement..." @@ -129,7 +113,7 @@ pipeline { returnStdout: true ).trim() - if (statusCode == '200') { + if (statusCode in ['200', '301', '302']) { echo "βœ… Backend ${params.ENV} opΓ©rationnel (HTTP ${statusCode}) aprΓ¨s ${i} essai(s)" break } else { @@ -138,7 +122,7 @@ pipeline { } } - if (statusCode != '200') { + if (!(statusCode in ['200', '301', '302'])) { error("❌ Health check Γ©chouΓ© sur ${params.ENV} - code HTTP ${statusCode}") } } diff --git a/index.js b/index.js index ee8a4b36..280e7456 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 000 !" }); + res.json({ message: "βœ… API ThΓ© Tip Top en ligne et opΓ©rationnelle 1000 !" }); }); // --- Monitoring Prometheus ---