58 lines
1.1 KiB
Groovy
58 lines
1.1 KiB
Groovy
pipeline {
|
||
agent {
|
||
docker {
|
||
image 'node:20'
|
||
args '-v /var/run/docker.sock:/var/run/docker.sock'
|
||
}
|
||
}
|
||
|
||
environment {
|
||
APP_NAME = "the-tip-top-backend"
|
||
DEPLOY_PATH = "/srv/devops/the-tip-top"
|
||
}
|
||
|
||
stages {
|
||
stage('Checkout') {
|
||
steps {
|
||
echo "📦 Récupération du code source depuis Gitea..."
|
||
checkout scm
|
||
}
|
||
}
|
||
|
||
stage('Install dependencies') {
|
||
steps {
|
||
echo "📦 Installation des dépendances NPM..."
|
||
sh 'npm install'
|
||
}
|
||
}
|
||
|
||
stage('Build Docker image') {
|
||
steps {
|
||
echo "🐳 Construction de l’image Docker locale..."
|
||
sh 'docker build -t ${APP_NAME}:latest .'
|
||
}
|
||
}
|
||
|
||
stage('Deploy') {
|
||
steps {
|
||
echo "🚀 Déploiement du backend via Docker Compose..."
|
||
sh """
|
||
cd ${DEPLOY_PATH}
|
||
docker compose stop backend || true
|
||
docker compose rm -f backend || true
|
||
docker compose up -d --build backend
|
||
"""
|
||
}
|
||
}
|
||
}
|
||
|
||
post {
|
||
success {
|
||
echo "✅ Déploiement du backend réussi !"
|
||
}
|
||
failure {
|
||
echo "❌ Échec du pipeline backend."
|
||
}
|
||
}
|
||
}
|