Fix Jenkinsfile syntax (clean comments)

This commit is contained in:
soufiane 2025-11-04 15:11:50 +01:00
parent 90f7d3bfd6
commit 7ec762cb3d

80
Jenkinsfile vendored
View File

@ -2,15 +2,13 @@ pipeline {
agent any agent any
// 🔁 Vérifie toutes les 2 minutes si du nouveau code a été poussé // 🔁 Vérifie toutes les 2 minutes si du nouveau code a été poussé
triggers { } triggers { }
// ⚙️ Paramètre manuel (fallback)
parameters { parameters {
choice( choice(
name: 'ENV', name: 'ENV',
choices: ['dev', 'preprod', 'prod'], choices: ['dev', 'preprod', 'prod'],
description: 'Choisir lenvironnement de déploiement (automatique si branche correspondante)' description: 'Choisir lenvironnement de déploiement'
) )
} }
@ -21,9 +19,9 @@ pipeline {
stages { stages {
/* ─────────────────────────────── // ───────────────────────────────
* 1⃣ Init — Détection automatique de lenvironnement // 1⃣ Init — Détection automatique de lenvironnement
* ─────────────────────────────── */ // ───────────────────────────────
stage('Init') { stage('Init') {
steps { steps {
script { script {
@ -50,9 +48,9 @@ pipeline {
} }
} }
/* ─────────────────────────────── // ───────────────────────────────
* 2⃣ Checkout du code // 2⃣ Checkout du code
* ─────────────────────────────── */ // ───────────────────────────────
stage('Checkout') { stage('Checkout') {
steps { steps {
echo "📦 Récupération du code source depuis Gitea..." echo "📦 Récupération du code source depuis Gitea..."
@ -60,9 +58,9 @@ pipeline {
} }
} }
/* ─────────────────────────────── // ───────────────────────────────
* 3⃣ Tests & Qualité // 3⃣ Tests & Qualité
* ─────────────────────────────── */ // ───────────────────────────────
stage('Tests & Qualité') { stage('Tests & Qualité') {
agent { agent {
docker { docker {
@ -80,28 +78,27 @@ pipeline {
} }
} }
/* ─────────────────────────────── // ───────────────────────────────
* 4⃣ Build de limage Docker // 4⃣ Build Docker image
* ─────────────────────────────── */ // ───────────────────────────────
stage('Build Docker image') { stage('Build Docker image') {
steps { steps {
echo "🐳 Construction de limage Docker backend..." echo "🐳 Construction de limage Docker backend..."
dir('the-tip-top-backend') { // <-- Dossier contenant le Dockerfile dir('the-tip-top-backend') {
sh """ sh """
docker build -t ${REGISTRY_URL}/${IMAGE_NAME}:${TAG} . docker build -t ${REGISTRY_URL}/${IMAGE_NAME}:${TAG} .
docker tag ${REGISTRY_URL}/${IMAGE_NAME}:${TAG} ${REGISTRY_URL}/${IMAGE_NAME}:latest docker tag ${REGISTRY_URL}/${IMAGE_NAME}:${TAG} ${REGISTRY_URL}/${IMAGE_NAME}:latest
""" """
}
}
} }
}
}
// ───────────────────────────────
/* ─────────────────────────────── // 5⃣ Push vers le registre privé
* 5⃣ Push vers le registre privé // ───────────────────────────────
* ─────────────────────────────── */
stage('Push to Registry') { stage('Push to Registry') {
steps { steps {
echo "📤 Envoi de limage vers le registre Docker privé..." echo "📤 Envoi de limage vers le registre..."
withCredentials([usernamePassword(credentialsId: 'registry-credentials', usernameVariable: 'REG_USER', passwordVariable: 'REG_PASS')]) { 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 echo "$REG_PASS" | docker login ${REGISTRY_URL} -u "$REG_USER" --password-stdin
@ -112,12 +109,12 @@ pipeline {
} }
} }
/* ─────────────────────────────── // ───────────────────────────────
* 6⃣ Backup avant déploiement // 6⃣ Backup avant déploiement
* ─────────────────────────────── */ // ───────────────────────────────
stage('Backup Before Deploy') { stage('Backup Before Deploy') {
steps { steps {
echo "💾 Exécution du script de sauvegarde avant déploiement..." echo "💾 Exécution du script de sauvegarde..."
sh ''' sh '''
if [ -f /srv/devops/the-tip-top/backup.sh ]; then if [ -f /srv/devops/the-tip-top/backup.sh ]; then
bash /srv/devops/the-tip-top/backup.sh bash /srv/devops/the-tip-top/backup.sh
@ -128,9 +125,9 @@ pipeline {
} }
} }
/* ─────────────────────────────── // ───────────────────────────────
* 7⃣ Déploiement // 7⃣ Déploiement
* ─────────────────────────────── */ // ───────────────────────────────
stage('Deploy') { stage('Deploy') {
steps { steps {
echo "🚀 Déploiement du backend sur ${env.ENV}..." echo "🚀 Déploiement du backend sur ${env.ENV}..."
@ -154,9 +151,9 @@ pipeline {
} }
} }
/* ─────────────────────────────── // ───────────────────────────────
* 8⃣ Vérification de santé (via /health) // 8⃣ Vérification de santé (via /health)
* ─────────────────────────────── */ // ───────────────────────────────
stage('Health Check') { stage('Health Check') {
steps { steps {
echo "🩺 Vérification du backend après déploiement..." echo "🩺 Vérification du backend après déploiement..."
@ -182,9 +179,6 @@ pipeline {
} }
} }
/* ───────────────────────────────
* 🔚 Post Actions
* ─────────────────────────────── */
post { post {
success { success {
echo "✅ Pipeline backend ${env.ENV} terminé avec succès !" echo "✅ Pipeline backend ${env.ENV} terminé avec succès !"