56 lines
987 B
Groovy
56 lines
987 B
Groovy
pipeline {
|
|
agent {
|
|
docker {
|
|
image 'node:20'
|
|
args '-v /var/run/docker.sock:/var/run/docker.sock'
|
|
}
|
|
}
|
|
|
|
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 '''
|
|
echo "🚀 Déploiement du frontend via Docker Compose..."
|
|
cd /srv/devops/the-tip-top
|
|
docker compose stop frontend || true
|
|
docker compose rm -f frontend || true
|
|
docker compose up -d --build frontend
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
success {
|
|
echo "✅ Déploiement du frontend réussi !"
|
|
}
|
|
failure {
|
|
echo "❌ Échec du pipeline Frontend"
|
|
}
|
|
}
|
|
}
|