Browse Source

Merge branch 'release/v5.4.0' of Software/android-cloud-H5 into develop

zengzhixiang 2 years ago
parent
commit
4a0c81b8f3
1 changed files with 36 additions and 24 deletions
  1. 36 24
      Jenkinsfile

+ 36 - 24
Jenkinsfile

@@ -7,6 +7,10 @@ pipeline {
   // environment{
   //   host = '172.17.1.22'
   // }
+  environment {
+    // docker的包名
+    DOCKER_VERSION = env.BUILD_TAG.replace("%2F","-")
+  }
   options{
     disableConcurrentBuilds()
   }
@@ -37,6 +41,7 @@ pipeline {
     // 实现任务的具体流程
     stage('初始化构建环境') {
       steps {
+        // echo "DOCKER_VERSION: ${env.DOCKER_VERSION}"
         echo "env.ref: ${env.ref}"
         script {
           if (env.ref) {
@@ -100,29 +105,33 @@ pipeline {
           expression { env.auto_run_docker_nginx_build_job == "true" }
           anyOf {
             branch "develop"
+            branch "release/*"
             // branch 'uat'
             // branch "master"
-            branch "release/*"
             // expression { BRANCH_NAME ==~ /^(release\/.+)$/ }
           }
         }
       }
       environment {
-        BUILD_DOCKER_JOB = "cloud_build_docker_nginx/test"
+        // 构建docker的任务名
+        BUILD_DOCKER_JOB = """${sh(
+          returnStdout: true,
+          script: """
+            if [[ "$BRANCH_NAME" == "master" ]];then
+              echo "cloud_build_docker_nginx/prod"
+            elif [[ "$BRANCH_NAME" =~ ^release\\/.* ]];then
+              echo "cloud_build_docker_nginx/uat"
+            else
+              echo "cloud_build_docker_nginx/test"
+            fi
+          """
+        ).trim()}"""
       }
       steps {
         echo '开始构建docker镜像'
-        script {
-          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"
-          } else {
-            env.BUILD_DOCKER_JOB = "cloud_build_docker_nginx/test"
-          }
-        }
+        echo "DOCKER_VERSION: ${env.DOCKER_VERSION}"
         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)]
+        build job: env.BUILD_DOCKER_JOB, parameters: [string(name: 'version', value: env.DOCKER_VERSION), 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镜像') {
@@ -132,7 +141,7 @@ pipeline {
           expression { env.auto_run_docker_nginx_pull_job == "true" }
           anyOf {
             branch 'develop'
-            // branch "release/*"
+            branch "release/*"
             // branch 'uat'
             // branch 'master'
             // expression { BRANCH_NAME ==~ /^(release\/.+)$/ }
@@ -140,21 +149,24 @@ pipeline {
         }
       }
       environment {
-        PULL_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
+        // 发布docker的任务名
+        PULL_DOCKER_JOB = """${sh(
+          returnStdout: true,
+          script: """
+            if [[ "$BRANCH_NAME" == "master" ]];then
+              echo ""
+            elif [[ "$BRANCH_NAME" =~ ^release\\/.* ]];then
+              echo "cloud_publish_docker_pre"
+            else
+              echo "cloud_publish_docker_powerful_test"
+            fi
+          """
+        ).trim()}"""
       }
       steps {
         echo '开始发布docker镜像'
-        script {
-          if ( env.BRANCH_NAME == 'master' ) {
-            // env.PULL_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
-          } else if ( env.BRANCH_NAME == 'uat' ) {
-            env.PULL_DOCKER_JOB = 'cloud_publish_docker_pre'
-          } else {
-            env.PULL_DOCKER_JOB = 'cloud_publish_docker_powerful_test'
-          }
-        }
         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')]
+        build job: env.PULL_DOCKER_JOB, parameters: [extendedChoice(name: 'service', value: 'cloud-nginx'), string(name: 'version', value: env.DOCKER_VERSION), string(name: 'replicas', value: '3'), string(name: 'memory', value: '2G'), string(name: 'cpu', value: '2')]
       }
     }
   }