Parcourir la source

feat(jenkins): 更新配置

zengzhixiang il y a 2 ans
Parent
commit
e4f262b64c
1 fichiers modifiés avec 41 ajouts et 18 suppressions
  1. 41 18
      Jenkinsfile

+ 41 - 18
Jenkinsfile

@@ -37,6 +37,26 @@ pipeline {
     // 实现任务的具体流程
     stage('初始化构建环境') {
       steps {
+        echo "env.ref: ${env.ref}"
+        echo "自动运行docker构建任务: ${params.auto_run_docker_nginx_build_job}"
+        echo "自动运行docker发布任务: ${params.auto_run_docker_nginx_pull_job}"
+
+        // XXX: 此处需注意类型
+        // params.auto_run_docker_nginx_build_job === false
+        // env.auto_run_docker_nginx_build_job === "false"
+
+        // script {
+        //   if (env.auto_run_docker_nginx_build_job) {
+        //     echo "env.auto_run_docker_nginx_build_job == true"
+        //   }
+        //   if (params.auto_run_docker_nginx_build_job) {
+        //     echo "params.auto_run_docker_nginx_build_job == true"
+        //   }
+        //   if (auto_run_docker_nginx_build_job) {
+        //     echo "auto_run_docker_nginx_build_job == true"
+        //   }
+        // }
+        // echo "params.auto_run_docker_nginx_pull_job: ${params.auto_run_docker_nginx_pull_job}"
         // echo 'env.BRANCH_NAME: ' + env.BRANCH_NAME
         // echo 'env.BUILD_NUMBER: ' + env.BUILD_NUMBER
         // echo 'env.BUILD_ID: ' + env.BUILD_ID
@@ -80,60 +100,63 @@ pipeline {
     stage('构建docker镜像') {
       when {
         allOf {
+          expression { return params.auto_run_docker_nginx_build_job }
           anyOf {
-            branch 'develop'
+            branch "develop"
             // branch 'uat'
-            branch 'master'
-            expression { BRANCH_NAME ==~ /^(release\/.+)$/ }
+            branch "master"
+            branch "release/*"
+            // expression { BRANCH_NAME ==~ /^(release\/.+)$/ }
           }
-          expression { env.auto_run_docker_nginx_build_job }
         }
       }
       environment {
-        BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/test'
+        BUILD_DOCKER_JOB = "cloud_build_docker_nginx/test"
       }
       steps {
-        // echo '开始构建docker镜像'
+        echo '开始构建docker镜像'
         script {
-          if (env.BRANCH_NAME == 'master') {
-            env.BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/prod'
+          if (env.BRANCH_NAME == "master") {
+            env.BUILD_DOCKER_JOB = "cloud_build_docker_nginx/prod"
           } else if (env.BRANCH_NAME ==~ /^(release\/.+)$/) {
-            env.BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/uat'
+            env.BUILD_DOCKER_JOB = "cloud_build_docker_nginx/uat"
           } else {
-            env.BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/test'
+            env.BUILD_DOCKER_JOB = "cloud_build_docker_nginx/test"
           }
         }
+        echo "build job: ${env.BUILD_DOCKER_JOB}"
         build job: env.BUILD_DOCKER_JOB, parameters: [string(name: 'version', value: env.BUILD_TAG), extendedChoice(name: 'service', value: 'manage_H5'),  booleanParam(name: 'auto_run_docker_nginx_pull_job', value: false), string(name: 'manage_H5_workspace', value: env.WORKSPACE)]
       }
     }
     stage('发布docker镜像') {
       when {
         allOf {
+          expression { return params.auto_run_docker_nginx_build_job }
+          expression { return params.auto_run_docker_nginx_pull_job }
           anyOf {
             branch 'develop'
             // branch 'uat'
             // branch 'master'
             // expression { BRANCH_NAME ==~ /^(release\/.+)$/ }
           }
-          expression { env.auto_run_docker_nginx_build_job }
-          expression { env.auto_run_docker_nginx_pull_job }
         }
       }
       environment {
-        PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        PULL_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
       }
       steps {
-        // echo '开始构建docker镜像'
+        echo '开始发布docker镜像'
         // script {
         //   if ( env.BRANCH_NAME == 'master' ) {
-        //     env.PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        //     env.PULL_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
         //   } else if ( env.BRANCH_NAME == 'uat' ) {
-        //     env.PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        //     env.PULL_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
         //   } else {
-        //     env.PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        //     env.PULL_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
         //   }
         // }
-        build job: env.PUBLISH_DOCKER_JOB, parameters: [extendedChoice(name: 'service', value: 'cloud-nginx'), string(name: 'version', value: env.BUILD_TAG), string(name: 'replicas', value: '3'), string(name: 'memory', value: '2G'), string(name: 'cpu', value: '2')]
+        echo "build job: ${env.PULL_DOCKER_JOB}"
+        build job: env.PULL_DOCKER_JOB, parameters: [extendedChoice(name: 'service', value: 'cloud-nginx'), string(name: 'version', value: env.BUILD_TAG), string(name: 'replicas', value: '3'), string(name: 'memory', value: '2G'), string(name: 'cpu', value: '2')]
       }
     }
   }