소스 검색

feat(jenkins): 更新配置

zengzhixiang 2 년 전
부모
커밋
8b67ac24e9
1개의 변경된 파일30개의 추가작업 그리고 18개의 파일을 삭제
  1. 30 18
      Jenkinsfile

+ 30 - 18
Jenkinsfile

@@ -10,6 +10,10 @@ pipeline {
   options{
     disableConcurrentBuilds()
   }
+  parameters {
+    booleanParam(name: 'auto_run_docker_nginx_build_job', defaultValue: false, description: '自动运行docker构建任务')
+    booleanParam(name: 'auto_run_docker_nginx_pull_job', defaultValue: false, description: '自动运行docker发布任务')
+  }
 
   triggers {
     GenericTrigger(
@@ -75,36 +79,44 @@ pipeline {
     }
     stage('构建docker镜像') {
       when {
-        anyOf {
-          branch 'develop'
-          // branch 'uat'
-          branch 'master'
-          expression { BRANCH_NAME ==~ /^(release\/.+)$/ }
+        allOf {
+          anyOf {
+            branch 'develop'
+            // branch 'uat'
+            branch 'master'
+            expression { BRANCH_NAME ==~ /^(release\/.+)$/ }
+          }
+          expression { env.auto_run_docker_nginx_build_job }
         }
       }
       environment {
-        BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_powerful_test'
+        BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/test'
       }
       steps {
         // echo '开始构建docker镜像'
         script {
           if (env.BRANCH_NAME == 'master') {
-            BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_prod'
+            env.BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/prod'
           } else if (env.BRANCH_NAME ==~ /^(release\/.+)$/) {
-            BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_pre'
+            env.BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/uat'
           } else {
-            BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_powerful_test'
+            env.BUILD_DOCKER_JOB = 'cloud_build_docker_nginx/test'
           }
         }
-        build job: BUILD_DOCKER_JOB, parameters: [string(name: 'version', value: env.BUILD_TAG), extendedChoice(name: 'service', value: 'manage_H5')]
+        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 {
-        anyOf {
-          // branch 'master'
-          // branch 'uat'
-          branch 'develop'
+        allOf {
+          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 {
@@ -114,14 +126,14 @@ pipeline {
         // echo '开始构建docker镜像'
         // script {
         //   if ( env.BRANCH_NAME == 'master' ) {
-        //     PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        //     env.PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
         //   } else if ( env.BRANCH_NAME == 'uat' ) {
-        //     PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        //     env.PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
         //   } else {
-        //     PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        //     env.PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
         //   }
         // }
-        build job: 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')]
+        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')]
       }
     }
   }