|
|
@@ -15,37 +15,28 @@ node {
|
|
|
sh 'docker ps | grep "workflow_" -v | awk -F " " \'{ if(NR>1) print $1}\' |xargs docker kill |xargs docker rm || true'
|
|
|
sh 'docker system prune -f'
|
|
|
}
|
|
|
-
|
|
|
- stage('Push Docker images to Nexus') {
|
|
|
- environment {
|
|
|
- NEXUS_URL = 'https://nexus.foodgame.fr'
|
|
|
- NEXUS_CREDENTIAL_ID = 'nexus'
|
|
|
- NEXUS_USERNAME = 'admin'
|
|
|
- NEXUS_PASSWORD = 'azerty10'
|
|
|
- DOCKER_IMAGE_NAME = 'workflow_jenkins_1'
|
|
|
- DOCKER_IMAGE_TAG = 'latest'
|
|
|
- }
|
|
|
- script {
|
|
|
- withCredentials([usernamePassword(
|
|
|
- credentialsId: env.NEXUS_CREDENTIAL_ID,
|
|
|
- usernameVariable: 'NEXUS_USERNAME',
|
|
|
- passwordVariable: 'NEXUS_PASSWORD'
|
|
|
- )]) {
|
|
|
- def dockerImage = "${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}"
|
|
|
- def dockerRegistryUrl = "${NEXUS_URL}/repository/${DOCKER_IMAGE_NAME}/"
|
|
|
|
|
|
- // Utilisation de docker.withRegistry pour gérer l'authentification Docker
|
|
|
- docker.withRegistry("${NEXUS_URL}", "${NEXUS_CREDENTIAL_ID}") {
|
|
|
- // Construction de l'image Docker
|
|
|
- sh "docker build -t ${dockerImage} ."
|
|
|
|
|
|
- // Tag de l'image Docker pour le dépôt Nexus
|
|
|
- sh "docker tag ${dockerImage} ${dockerRegistryUrl}${dockerImage}"
|
|
|
|
|
|
- // Pousser l'image Docker vers le dépôt Nexus
|
|
|
- sh "docker push ${dockerRegistryUrl}${dockerImage}"
|
|
|
- }
|
|
|
- }
|
|
|
+ stage('Build and Push Docker Image') {
|
|
|
+ withCredentials([usernamePassword(credentialsId: 'nexus', usernameVariable: 'admin', passwordVariable: 'azerty10')]) {
|
|
|
+ // Définition des variables
|
|
|
+ def dockerImageName = 'workflow_jenkins_1'
|
|
|
+ def dockerImageTag = 'latest'
|
|
|
+ def nexusUrl = 'https://nexus.foodgame.fr'
|
|
|
+ def nexusRepository = 'fatboar_repo'
|
|
|
+
|
|
|
+ // Étape de construction de l'image Docker
|
|
|
+ sh "docker build -t ${dockerImageName}:${dockerImageTag} ."
|
|
|
+
|
|
|
+ // Étape de connexion au registre Docker Nexus
|
|
|
+ sh "docker login -u ${admin} -p ${azerty10} ${nexusUrl}"
|
|
|
+
|
|
|
+ // Étape de balisage de l'image Docker pour le registre Nexus
|
|
|
+ sh "docker tag ${dockerImageName}:${dockerImageTag} ${nexusUrl}/repository/${nexusRepository}/${dockerImageName}:${dockerImageTag}"
|
|
|
+
|
|
|
+ // Étape de poussée de l'image Docker vers le registre Nexus
|
|
|
+ sh "docker push ${nexusUrl}/repository/${nexusRepository}/${dockerImageName}:${dockerImageTag}"
|
|
|
}
|
|
|
}
|
|
|
|