Tomishinets Vladimir 4 gadi atpakaļ
vecāks
revīzija
cccb6931d4
2 mainītis faili ar 31 papildinājumiem un 26 dzēšanām
  1. 22 18
      devK8s.Jenkinsfile
  2. 9 8
      prodK8s.Jenkinsfile

+ 22 - 18
devK8s.Jenkinsfile

@@ -14,14 +14,17 @@ pipeline {
   environment {
     CLOUD='cloud-it-k8s'
     DOCKER_IMAGE='iru/promo'
-    CHART_PATH='helm/info'
+    CHART_SUBPATH='helm/info'
     NAMESPACE='info'
     HELM_GIT_URL='ssh://git@git.sdsys.ru:8022/iru/k8s.git'
     APP_GIT_URL='ssh://gitolite@git.alfatell.ru:2223/web-registration-cloud.git'
+    SOURCE_GIT_URL='ssh://gitolite@git.alfatell.ru:2223/web-registration-cloud.git'
     JENKINS_MAIL='jenkins.dev@sdsys.ru'
     DOCKER_REGISTRY='jcr.infoclinica.ru'
-    CHART_NAME=''
+//    RELEASE_NAME=''
+    PROJECT=''
     APP_DIR=''
+    SOURCE_DIR=''
     HELM_DIR=''
     TAG=''
   }
@@ -41,15 +44,17 @@ pipeline {
     stage("Prepare to build") {
       steps {
         script {
-          echo "Pull ${APP_GIT_URL}"
-          gitOps.clone(APP_GIT_URL)
-          APP_DIR = dirOps.calculateDir(APP_GIT_URL)
+          echo "Pull ${SOURCE_GIT_URL}"
+          gitOps.clone(SOURCE_GIT_URL)
           echo "CheckOut ${branch}"
-          gitOps.checkout(APP_DIR, branch)
+          SOURCE_DIR = dirOps.calculateDir(SOURCE_GIT_URL)
+          gitOps.checkout(SOURCE_DIR, branch)
           echo "Save Version"
-          dir(APP_DIR) {
+          dir(SOURCE_DIR) {
             sh 'echo $(git log -p -1 --pretty=format:"%h"|head -n1) > version'
           }
+          PROJECT = DOCKER_IMAGE.split("/")[1]
+          CHART_PATH = "${HELM_DIR}/${CHART_SUBPATH}"
         }
       }
     }
@@ -57,11 +62,11 @@ pipeline {
       steps {
         script {
           echo "Build customer-api"
-          dir("${APP_DIR}/customer-api") {
+          dir("${SOURCE_DIR}/customer-api") {
             buildOps.maven()
           }
           echo "Build Promo"
-          dir("${APP_DIR}/promo") {
+          dir("${SOURCE_DIR}/${PROJECT}") {
             buildOps.gradle()
           }
         }
@@ -70,8 +75,8 @@ pipeline {
     stage("Build Image") {
       steps {
         script {
-          sh "cp ${APP_DIR}/promo/build/libs/promo-0.0.1-SNAPSHOT.war ."
-          sh "cp ${APP_DIR}/version ."
+          sh "cp ${SOURCE_DIR}/promo/build/libs/promo-0.0.1-SNAPSHOT.war ."
+          sh "cp ${SOURCE_DIR}/version ."
           REGISTRY = DOCKER_REGISTRY + "/" + DOCKER_IMAGE
           COMMIT = sh(script: "cat version 2> /dev/null", returnStdout: true).trim()
           TAG = "${COMMIT}-${BUILD_NUMBER}"
@@ -88,26 +93,24 @@ pipeline {
           echo "Update Helm Chart"
           gitOps.clone(HELM_GIT_URL)
           HELM_DIR = dirOps.calculateDir(HELM_GIT_URL)
-          def data = readYaml file: "${HELM_DIR}/${CHART_PATH}/values.yaml"
-          PROJECT = DOCKER_IMAGE.split("/")[1]
+          def data = readYaml file: "${CHART_PATH}/values.yaml"
           TAG_PATH = "images.${PROJECT}.dev"
           yamlOps.updateBuilder(TAG_PATH, data, TAG)
-          writeYaml file: "${HELM_DIR}/${CHART_PATH}/values.yaml", data: data, overwrite: true
+          writeYaml file: "${CHART_PATH}/values.yaml", data: data, overwrite: true
         }
       }
     }
     stage("Update APP") {
       steps {
         script {
-          CHART = "${HELM_DIR}/${CHART_PATH}"
-          CHART_NAME = CHART_PATH.split("/")[1]
+          RELEASE_NAME = CHART_SUBPATH.split("/")[1]
           try {
             echo "Update APP"
-            k8sHelmOps.upgrade(CLOUD, NAMESPACE, CHART_NAME, CHART)
+            k8sHelmOps.upgrade(CLOUD, NAMESPACE, RELEASE_NAME, CHART_PATH)
           }
           catch(err) {
             echo "Recovering APP"
-            k8sHelmOps.rollback(CLOUD, NAMESPACE, CHART_NAME)
+            k8sHelmOps.rollback(CLOUD, NAMESPACE, RELEASE_NAME)
             throw err
           }
         }
@@ -117,6 +120,7 @@ pipeline {
       steps {
         script {
           echo "Push changes to Repo"
+          APP_DIR = dirOps.calculateDir(APP_GIT_URL)
           COMMIT = "Version update ${APP_DIR}"
           gitOps.push(HELM_DIR, COMMIT)
         }

+ 9 - 8
prodK8s.Jenkinsfile

@@ -14,7 +14,7 @@ pipeline {
   environment {
     CLOUD='cloud-it-k8s'
     DOCKER_IMAGE='iru/promo'
-    CHART_PATH='helm/info'
+    CHART_SUBPATH='helm/info'
     NAMESPACE='info'
     HELM_GIT_URL='ssh://git@git.sdsys.ru:8022/iru/k8s.git'
     APP_GIT_URL='ssh://gitolite@git.alfatell.ru:2223/web-registration-cloud.git'
@@ -24,6 +24,7 @@ pipeline {
     PROJECT=''
     HELM_DIR=''
     TAG=''
+    CHART_PATH=''
   }
   parameters {
     string(
@@ -39,6 +40,8 @@ pipeline {
           echo "Pull Repo"
           gitOps.clone(HELM_GIT_URL)
           HELM_DIR = dirOps.calculateDir(HELM_GIT_URL)
+          CHART_PATH = "${HELM_DIR}/${CHART_SUBPATH}"
+          PROJECT = DOCKER_IMAGE.split("/")[1]
         }
       }
     }
@@ -46,28 +49,26 @@ pipeline {
       steps {
         script {
           echo "Update values.yaml"
-          PROJECT = DOCKER_IMAGE.split("/")[1]
-          def data = readYaml file: "${HELM_DIR}/${CHART_PATH}/values.yaml"
+          def data = readYaml file: "${CHART_PATH}/values.yaml"
           TAG_PATH = "images.${PROJECT}.dev"
           TAG = yamlOps.getBuilder(TAG_PATH, data)
           TAG_PATH = "images.${PROJECT}.prod"
           yamlOps.updateBuilder(TAG_PATH, data, TAG)
-          writeYaml file: "${HELM_DIR}/${CHART_PATH}/values.yaml", data: data, overwrite: true
+          writeYaml file: "${CHART_PATH}/values.yaml", data: data, overwrite: true
         }
       }
     }
     stage("Update APP") {
       steps {
         script {
-          CHART = "${HELM_DIR}/${CHART_PATH}"
-          CHART_NAME = CHART_PATH.split("/")[1]
+          RELEASENAME = CHART_SUBPATH.split("/")[1]
           try {
             echo "Update APP"
-            k8sHelmOps.upgrade(CLOUD, NAMESPACE, CHART_NAME, CHART, 'dev')
+            k8sHelmOps.upgrade(CLOUD, NAMESPACE, RELEASENAME, CHART_PATH, 'dev')
           }
           catch(err) {
             echo "Recovering APP"
-            k8sHelmOps.rollback(CLOUD, NAMESPACE, CHART_NAME)
+            k8sHelmOps.rollback(CLOUD, NAMESPACE, RELEASENAME)
             throw err
           }
         }