Mise à jour de index.js

This commit is contained in:
soufiane 2025-11-03 20:04:27 +01:00
parent 687fa5e57d
commit 72440a7af5
2 changed files with 41 additions and 7 deletions

46
Jenkinsfile vendored
View File

@ -1,15 +1,21 @@
pipeline {
agent any
// 🔁 Vérifie automatiquement toutes les 2 minutes sil y a des commits sur Gitea
triggers {
// Vérifie toutes les 2 minutes les changements sur Gitea
pollSCM('H/2 * * * *')
}
// ⚙️ Choix de lenvironnement de déploiement
parameters {
choice(name: 'ENV', choices: ['dev', 'preprod', 'prod'], description: 'Choisir lenvironnement de déploiement')
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"
@ -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 limage Docker
* ─────────────────────────────── */
stage('Build Docker image') {
steps {
echo "🐳 Construction de limage 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 limage 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 !"

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 10000 !" });
res.json({ message: "✅ API Thé Tip Top en ligne et opérationnelle 100001 !" });
});
// --- Monitoring Prometheus ---