Improvements to Jenkinsfile structure to publish image
authorFrancisco-Javier Ramón Salguero <javier.ramon@telefonica.com>
Mon, 14 Sep 2020 14:39:02 +0000 (16:39 +0200)
committerlavado <glavado@whitestack.com>
Mon, 14 Sep 2020 14:39:02 +0000 (16:39 +0200)
Jenkinsfile

index 049f6e9..29a4109 100644 (file)
@@ -1,19 +1,37 @@
+def dockerImage
+
 pipeline {
-    agent none
-    stages {
-/*      stage('Test') {
-          agent { dockerfile true }
-            steps {
-                sh 'echo HOLA'
-            }
-        }
-*/
-        stage('Build') {
-            agent any
-            steps {
-                sh 'docker build .'
-                sh 'echo PUBLISH'
-            }
+  environment {
+    imagename = "opensourcemano/api-fe"
+    registryCredential = '<credentials>'  // To be updated with actual ID in the future
+  }
+  agent any
+  stages {
+    stage('Build API-FE image') {
+      steps{
+        sh "echo Building API-FE image"
+        script {
+          dockerImage = docker.build "${env.imagename}:${env.BUILD_NUMBER}"
         }
+      }
+    }
+    stage('Upload to Docker registry') {
+      steps{
+        sh "echo Here it would upload the image with appropriate tags: build number, latest"
+        /*script {
+          docker.withRegistry( '', registryCredential ) {
+            dockerImage.push("${env.BUILD_NUMBER}")
+            dockerImage.push('latest')
+          }
+        }*/
+      }
+    }
+    stage('Remove unused Docker image') {
+      steps{
+        sh "docker rmi ${imagename}:${BUILD_NUMBER}"
+        // Commented until "upload" stage can be uncommented as well
+        //sh "docker rmi ${imagename}:latest"
+      }
     }
+  }
 }