Tomishinets Vladimir преди 4 години
родител
ревизия
1bc6a4d5d1
променени са 1 файла, в които са добавени 21 реда и са изтрити 22 реда
  1. 21 22
      devK8s.Jenkinsfile

+ 21 - 22
devK8s.Jenkinsfile

@@ -4,6 +4,7 @@ pipeline {
   options {
     buildDiscarder logRotator(numToKeepStr: '10')
     disableConcurrentBuilds()
+    timeout(time: 10, unit: 'MINUTES')
   }
   agent {
     kubernetes {
@@ -14,14 +15,15 @@ pipeline {
   environment {
     CLOUD='cloud-it-k8s'
     DOCKER_IMAGE='iru/admin'
-    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://git@git.sdsys.ru:8022/iru/admin.git'
     JENKINS_MAIL='jenkins.dev@sdsys.ru'
     DOCKER_REGISTRY='jcr.infoclinica.ru'
+    PROJECT=''
     CHART_NAME=''
-    APP_DIR=''
+    CHART_PATH=''
     HELM_DIR=''
     TAG=''
   }
@@ -29,7 +31,7 @@ pipeline {
     string(
       name: "repo",
       defaultValue: "prod",
-      description: "Repository to build and/or deploy from. Values - dev, prod."
+      description: "Repository to build and/or deploy from."
     )
     string(
       name: "mailto",
@@ -41,21 +43,21 @@ pipeline {
     stage("Prepare to Build") {
       steps {
         script {
-          gitOps.clone(APP_GIT_URL)
-          APP_DIR = dirOps.calculateDir(APP_GIT_URL)
+          gitOps.clone(HELM_GIT_URL)
+          HELM_DIR = dirOps.calculateDir(HELM_GIT_URL)
+          CHART_PATH = "${HELM_DIR}/${CHART_SUBPATH}"
+          PROJECT = DOCKER_IMAGE.split("/")[1]
         }
       }
     }
     stage("Build Image") {
       steps {
         script {
-          dir (APP_DIR) {
-            echo "Build Image with Kaniko"
-            REGISTRY = DOCKER_REGISTRY + "/" + DOCKER_IMAGE
-            ARGS = [ "repo=${repo}" ]
-            TAG = "${repo}-${BUILD_NUMBER}"
-            k8sBuildImage.kaniko(REGISTRY, TAG, ARGS)
-          }
+          echo "Build Image with Kaniko"
+          REGISTRY = "${DOCKER_REGISTRY}/${DOCKER_IMAGE}"
+          ARGS = [ "repo=${repo}" ]
+          TAG = "${repo}-${BUILD_NUMBER}"
+          k8sBuildImage.kaniko(REGISTRY, TAG, ARGS)
         }
       }
     }
@@ -63,27 +65,24 @@ pipeline {
       steps {
         script {
           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"
-          TAG_PATH = "images.${APP_DIR}.dev"
+          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]
+          RELEASENAME = CHART_SUBPATH.split("/")[1]
           try {
             echo "Update APP"
-            k8sHelmOps.upgrade(CLOUD, NAMESPACE, CHART_NAME, CHART)
+            k8sHelmOps.upgrade(CLOUD, NAMESPACE, RELEASENAME, CHART_PATH)
           }
           catch(err) {
             echo "Recovering APP"
-            k8sHelmOps.rollback(CLOUD, NAMESPACE, CHART_NAME)
+            k8sHelmOps.rollback(CLOUD, NAMESPACE, RELEASENAME)
             throw err
           }
         }
@@ -93,7 +92,7 @@ pipeline {
       steps {
         script {
           echo "Push changes to Repo"
-          COMMIT = "Version update ${APP_DIR}"
+          COMMIT = "Version update ${PROJECT}"
           gitOps.push(HELM_DIR, COMMIT)
         }
       }