Mise à jour de index.js
This commit is contained in:
parent
72440a7af5
commit
a5c0bb1850
22
Jenkinsfile
vendored
22
Jenkinsfile
vendored
|
|
@ -6,7 +6,7 @@ pipeline {
|
||||||
pollSCM('H/2 * * * *')
|
pollSCM('H/2 * * * *')
|
||||||
}
|
}
|
||||||
|
|
||||||
// ⚙️ Choix de l’environnement de déploiement
|
// ⚙️ Choix de l’environnement de déploiement (par défaut : dev)
|
||||||
parameters {
|
parameters {
|
||||||
choice(
|
choice(
|
||||||
name: 'ENV',
|
name: 'ENV',
|
||||||
|
|
@ -50,7 +50,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ───────────────────────────────
|
/* ───────────────────────────────
|
||||||
* 3️⃣ Informations de contexte
|
* 3️⃣ Informations sur l’environnement
|
||||||
* ─────────────────────────────── */
|
* ─────────────────────────────── */
|
||||||
stage('Show Environment Info') {
|
stage('Show Environment Info') {
|
||||||
steps {
|
steps {
|
||||||
|
|
@ -74,7 +74,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ───────────────────────────────
|
/* ───────────────────────────────
|
||||||
* 5️⃣ Envoi au registre Docker privé
|
* 5️⃣ Envoi de l’image au registre privé
|
||||||
* ─────────────────────────────── */
|
* ─────────────────────────────── */
|
||||||
stage('Push to Registry') {
|
stage('Push to Registry') {
|
||||||
steps {
|
steps {
|
||||||
|
|
@ -97,6 +97,7 @@ pipeline {
|
||||||
echo "💾 Exécution du script de sauvegarde avant déploiement..."
|
echo "💾 Exécution du script de sauvegarde avant déploiement..."
|
||||||
sh '''
|
sh '''
|
||||||
if [ -f /srv/devops/the-tip-top/backup.sh ]; then
|
if [ -f /srv/devops/the-tip-top/backup.sh ]; then
|
||||||
|
echo "▶️ Lancement du script de sauvegarde..."
|
||||||
bash /srv/devops/the-tip-top/backup.sh
|
bash /srv/devops/the-tip-top/backup.sh
|
||||||
else
|
else
|
||||||
echo "⚠️ Aucun script backup.sh trouvé, déploiement sans sauvegarde."
|
echo "⚠️ Aucun script backup.sh trouvé, déploiement sans sauvegarde."
|
||||||
|
|
@ -112,13 +113,18 @@ pipeline {
|
||||||
steps {
|
steps {
|
||||||
echo "🚀 Déploiement du backend sur ${params.ENV}..."
|
echo "🚀 Déploiement du backend sur ${params.ENV}..."
|
||||||
sh '''
|
sh '''
|
||||||
if [ ! -f ${DEPLOY_PATH}/docker-compose.yml ]; then
|
if [ ! -f "${DEPLOY_PATH}/docker-compose.yml" ]; then
|
||||||
echo "❌ Fichier docker-compose.yml introuvable dans ${DEPLOY_PATH}"
|
echo "❌ Fichier docker-compose.yml introuvable dans ${DEPLOY_PATH}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd ${DEPLOY_PATH}
|
echo "📁 Déploiement dans ${DEPLOY_PATH}..."
|
||||||
|
cd "${DEPLOY_PATH}"
|
||||||
|
|
||||||
|
echo "⬇️ Récupération de la dernière image..."
|
||||||
docker compose pull backend
|
docker compose pull backend
|
||||||
|
|
||||||
|
echo "🔁 Redémarrage du conteneur backend..."
|
||||||
docker compose up -d --force-recreate backend
|
docker compose up -d --force-recreate backend
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
|
|
@ -146,20 +152,18 @@ pipeline {
|
||||||
|
|
||||||
if (statusCode in ['200', '301', '302']) {
|
if (statusCode in ['200', '301', '302']) {
|
||||||
echo "✅ Backend ${params.ENV} opérationnel (HTTP ${statusCode}) après ${i} essai(s)"
|
echo "✅ Backend ${params.ENV} opérationnel (HTTP ${statusCode}) après ${i} essai(s)"
|
||||||
break
|
return
|
||||||
} else {
|
} else {
|
||||||
echo "⏳ Tentative ${i}/${maxRetries} → HTTP ${statusCode}"
|
echo "⏳ Tentative ${i}/${maxRetries} → HTTP ${statusCode}"
|
||||||
sleep 5
|
sleep(time: 5, unit: 'SECONDS')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(statusCode in ['200', '301', '302'])) {
|
|
||||||
error("❌ Health check échoué sur ${params.ENV} - code HTTP ${statusCode}")
|
error("❌ Health check échoué sur ${params.ENV} - code HTTP ${statusCode}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* ───────────────────────────────
|
/* ───────────────────────────────
|
||||||
* 🔚 Post actions
|
* 🔚 Post actions
|
||||||
|
|
|
||||||
2
index.js
2
index.js
|
|
@ -34,7 +34,7 @@ app.get("/db-check", async (req, res) => {
|
||||||
|
|
||||||
// --- Route d’accueil (fix pour 'Cannot GET /') ---
|
// --- Route d’accueil (fix pour 'Cannot GET /') ---
|
||||||
app.get("/", (req, res) => {
|
app.get("/", (req, res) => {
|
||||||
res.json({ message: "✅ API Thé Tip Top en ligne et opérationnelle 100001 !" });
|
res.json({ message: "✅ API Thé Tip Top en ligne et opérationnelle 1001001 !" });
|
||||||
});
|
});
|
||||||
|
|
||||||
// --- Monitoring Prometheus ---
|
// --- Monitoring Prometheus ---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user