flatten backend folder

This commit is contained in:
soufiane 2025-11-04 00:28:08 +01:00
parent 923d30f8c6
commit bf50fa2246

34
Jenkinsfile vendored
View File

@ -1,15 +1,17 @@
pipeline {
agent any
// 🔁 Vérifie toutes les 2 minutes si du nouveau code a été poussé
triggers {
pollSCM('H/2 * * * *')
}
// ⚙️ Paramètre manuel (fallback)
parameters {
choice(
name: 'ENV',
choices: ['dev', 'preprod', 'prod'],
description: 'Choisir lenvironnement de déploiement'
description: 'Choisir lenvironnement de déploiement (automatique si branche correspondante)'
)
}
@ -20,6 +22,9 @@ pipeline {
stages {
/* ───────────────────────────────
* 1⃣ Init — Détection automatique de lenvironnement
* ─────────────────────────────── */
stage('Init') {
steps {
script {
@ -41,11 +46,15 @@ pipeline {
📂 Chemin de déploiement = ${env.DEPLOY_PATH}
"""
// Vérifie le répertoire cible
sh "ls -l ${env.DEPLOY_PATH} || echo '⚠️ Dossier non accessible depuis Jenkins'"
}
}
}
/* ───────────────────────────────
* 2⃣ Checkout du code
* ─────────────────────────────── */
stage('Checkout') {
steps {
echo "📦 Récupération du code source depuis Gitea..."
@ -53,6 +62,9 @@ pipeline {
}
}
/* ───────────────────────────────
* 3⃣ Tests & Qualité (dans un conteneur Node.js)
* ─────────────────────────────── */
stage('Tests & Qualité') {
agent {
docker {
@ -70,16 +82,22 @@ pipeline {
}
}
/* ───────────────────────────────
* 4⃣ Build de limage Docker
* ─────────────────────────────── */
stage('Build Docker image') {
steps {
echo "🐳 Construction de limage Docker backend (no cache)..."
echo "🐳 Construction de limage Docker backend..."
sh """
docker build --no-cache -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
"""
}
}
/* ───────────────────────────────
* 5⃣ Push vers le registre privé
* ─────────────────────────────── */
stage('Push to Registry') {
steps {
echo "📤 Envoi de limage vers le registre Docker privé..."
@ -93,6 +111,9 @@ pipeline {
}
}
/* ───────────────────────────────
* 6⃣ Backup avant déploiement
* ─────────────────────────────── */
stage('Backup Before Deploy') {
steps {
echo "💾 Exécution du script de sauvegarde avant déploiement..."
@ -106,6 +127,9 @@ pipeline {
}
}
/* ───────────────────────────────
* 7⃣ Déploiement
* ─────────────────────────────── */
stage('Deploy') {
steps {
echo "🚀 Déploiement du backend sur ${env.ENV}..."
@ -132,6 +156,7 @@ pipeline {
/* ───────────────────────────────
* 8⃣ Vérification de santé (via /health)
* ─────────────────────────────── */
* ─────────────────────────────── */
stage('Health Check') {
steps {
echo "🩺 Vérification du backend après déploiement..."
@ -157,6 +182,9 @@ pipeline {
}
}
/* ───────────────────────────────
* 🔚 Post Actions
* ─────────────────────────────── */
post {
success {
echo "✅ Pipeline backend ${env.ENV} terminé avec succès !"