Mise à jour de index.js

This commit is contained in:
soufiane 2025-11-03 19:36:07 +01:00
parent 4312633bdb
commit 3e6bd6e409
2 changed files with 13 additions and 29 deletions

40
Jenkinsfile vendored
View File

@ -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 lenvironnement
parameters {
choice(name: 'ENV', choices: ['dev', 'preprod', 'prod'], description: 'Choisir lenvironnement 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 limage 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 limage Docker backend..."
@ -58,9 +54,6 @@ pipeline {
}
}
/* ───────────────────────────────
* 4⃣ Push vers le registre privé
* ─────────────────────────────── */
stage('Push to Registry') {
steps {
echo "📤 Envoi de limage 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}")
}
}

View File

@ -34,7 +34,7 @@ app.get("/db-check", async (req, res) => {
// --- Route daccueil (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 ---