mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 15:33:22 +00:00
85 lines
2.6 KiB
Plaintext
85 lines
2.6 KiB
Plaintext
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
DOCKER_REGISTRY = 'git.v0id.ovh'
|
|
ORGANIZATION = "n3wt-innov"
|
|
APP_NAME = 'n3wt-school'
|
|
}
|
|
|
|
// Déclencher uniquement sur les tags
|
|
triggers {
|
|
issueCommentTrigger('.*deploy.*')
|
|
}
|
|
|
|
stages {
|
|
stage('Vérification du Tag') {
|
|
when {
|
|
expression { env.TAG_NAME != null }
|
|
}
|
|
steps {
|
|
script {
|
|
// Extraire la version du tag
|
|
env.VERSION = env.TAG_NAME
|
|
echo "Version détectée: ${env.VERSION}"
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Build Docker Images') {
|
|
when {
|
|
expression { env.TAG_NAME != null }
|
|
}
|
|
steps {
|
|
script {
|
|
// Donner les permissions d'exécution au script
|
|
sh 'chmod +x ./ci-scripts/makeDocker.sh'
|
|
|
|
// Exécuter le script avec la version
|
|
sh """
|
|
./ci-scripts/makeDocker.sh ${env.VERSION}
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Push sur Registry') {
|
|
when {
|
|
expression { env.TAG_NAME != null }
|
|
}
|
|
steps {
|
|
script {
|
|
withCredentials([usernamePassword(
|
|
credentialsId: 'docker-registry-credentials',
|
|
usernameVariable: 'REGISTRY_USER',
|
|
passwordVariable: 'REGISTRY_PASS'
|
|
)]) {
|
|
// Login au registry
|
|
sh "docker login ${DOCKER_REGISTRY} -u ${REGISTRY_USER} -p ${REGISTRY_PASS}"
|
|
|
|
// Push des images
|
|
sh """
|
|
docker push ${DOCKER_REGISTRY}/${ORGANIZATION}/${APP_NAME}/frontend:${env.VERSION}
|
|
docker push ${DOCKER_REGISTRY}/${ORGANIZATION}/${APP_NAME}/backend:${env.VERSION}
|
|
docker push ${DOCKER_REGISTRY}/${ORGANIZATION}/${APP_NAME}/frontend:latest
|
|
docker push ${DOCKER_REGISTRY}/${ORGANIZATION}/${APP_NAME}/backend:latest
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
success {
|
|
echo "Build et push des images Docker réussis pour la version ${env.VERSION}"
|
|
}
|
|
failure {
|
|
echo "Échec du build ou du push des images Docker"
|
|
}
|
|
always {
|
|
// Nettoyage
|
|
sh 'docker system prune -f'
|
|
}
|
|
}
|
|
} |