formation 1 سال پیش
والد
کامیت
7dbee89863
1فایلهای تغییر یافته به همراه17 افزوده شده و 40 حذف شده
  1. 17 40
      Jenkinsfile

+ 17 - 40
Jenkinsfile

@@ -16,24 +16,6 @@ node {
         sh 'docker system prune -f'
     }
     
-    node {
-    env.NODEJS_HOME = "${tool 'NodeJS'}"
-    // on linux / mac
-    env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
-    // on windows
-    //env.PATH="${env.NODEJS_HOME};${env.PATH}"
-    sh 'npm --version'
-
-    stage('checkout') {
-        deleteDir()
-        checkout scm
-    }
-     
-    stage('Stop Containers') {
-        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'
@@ -44,36 +26,31 @@ node {
             DOCKER_IMAGE_TAG = 'latest'
         }
         script {
-            withCredentials([usernamePassword(credentialsId: 'NEXUS_CREDENTIAL_ID', usernameVariable: 'NEXUS_USERNAME', passwordVariable: 'NEXUS_PASSWORD')]) {
-                def dockerImage = "${env.DOCKER_IMAGE_NAME}:${env.DOCKER_IMAGE_TAG}"
-                def dockerRegistryUrl = "${env.NEXUS_URL}/repository/${env.DOCKER_IMAGE_NAME}/"
+            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}/"
 
-                // Build Docker image
-                sh "docker build -t ${dockerImage} ."
+                // 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 Docker image for Nexus repository
-                sh "docker tag ${dockerImage} ${dockerRegistryUrl}${dockerImage}"
+                    // Tag de l'image Docker pour le dépôt Nexus
+                    sh "docker tag ${dockerImage} ${dockerRegistryUrl}${dockerImage}"
 
-                // Login to Nexus Docker registry
-                sh "docker login -u ${env.NEXUS_USERNAME} -p ${env.NEXUS_PASSWORD} ${env.NEXUS_URL}"
-
-                // Push Docker image to Nexus repository
-                sh "docker push ${dockerRegistryUrl}${dockerImage}"
+                    // Pousser l'image Docker vers le dépôt Nexus
+                    sh "docker push ${dockerRegistryUrl}${dockerImage}"
+                }
             }
         }
     }
 
-    stage('Build Docker MEAN Stack(PreProduction Deployment)') {
-        sh 'docker-compose -v'
-        sh 'docker-compose stop'
-        sh 'docker-compose build'
-        sh 'docker-compose up -d'
-    }
 
-    stage('Fin du Pipeline') {
-       sh 'echo "Félicitation tout s\'est bien déroulé!"'  
-   }
-}
+    
 
     stage('Build Docker MEAN Stack(PreProduction Deployment)') {
         sh 'docker-compose -v'