formation 1 год назад
Родитель
Сommit
c88f4e4ba3
1 измененных файлов с 19 добавлено и 28 удалено
  1. 19 28
      Jenkinsfile

+ 19 - 28
Jenkinsfile

@@ -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}"
         }
     }