53 lines
858 B
Groovy
53 lines
858 B
Groovy
pipeline {
|
|
agent {
|
|
docker {
|
|
image 'node:20' // 👉 exécuter dans un conteneur Node.js
|
|
args '-u root:root' // pour avoir les droits nécessaires
|
|
}
|
|
}
|
|
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
checkout scm
|
|
}
|
|
}
|
|
|
|
stage('Install dependencies') {
|
|
steps {
|
|
sh 'npm install'
|
|
}
|
|
}
|
|
|
|
stage('Build Next.js app') {
|
|
steps {
|
|
sh 'npm run build'
|
|
}
|
|
}
|
|
|
|
stage('Build Docker image') {
|
|
steps {
|
|
sh 'docker build -t the-tip-top-frontend .'
|
|
}
|
|
}
|
|
|
|
stage('Deploy') {
|
|
steps {
|
|
sh '''
|
|
docker compose down
|
|
docker compose up -d --build
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
success {
|
|
echo '✅ Déploiement frontend réussi !'
|
|
}
|
|
failure {
|
|
echo '❌ Échec du pipeline Frontend'
|
|
}
|
|
}
|
|
}
|