Bladeren bron

Merge branch 'feature/jenkinsfile' of Software/android-cloud-H5 into develop

zengzhixiang 2 jaren geleden
bovenliggende
commit
a4a8f77540
2 gewijzigde bestanden met toevoegingen van 105 en 1 verwijderingen
  1. 104 0
      Jenkinsfile
  2. 1 1
      package.json

+ 104 - 0
Jenkinsfile

@@ -0,0 +1,104 @@
+
+// 所有脚本命令包含在pipeline{}中
+pipeline {
+    // 指定任务在哪个节点执行(Jenkins支持分布式)
+  agent any
+  // 配置全局环境,指定变量名=变量值信息
+  // environment{
+  //   host = '172.17.1.22'
+  // }
+
+  triggers {
+    GenericTrigger(
+     genericVariables: [
+      [key: 'ref', value: '$.ref']
+     ],
+
+     causeString: 'Triggered on $ref',
+
+     token: 'android-cloud-h5',
+     tokenCredentialId: '',
+
+     silentResponse: false,
+     printPostContent: true,
+     printContributedVariables: true,
+
+
+     regexpFilterExpression: 'refs/heads/' + env.BRANCH_NAME,
+     regexpFilterText: '$ref'
+    )
+  }
+
+
+  // 存放所有任务的合集
+  stages {
+    // 实现任务的具体流程
+    stage('初始化构建环境') {
+      steps {
+        // echo 'env.BRANCH_NAME: ' + env.BRANCH_NAME
+        // echo 'env.BUILD_NUMBER: ' + env.BUILD_NUMBER
+        // echo 'env.BUILD_ID: ' + env.BUILD_ID
+        // echo 'env.BUILD_DISPLAY_NAME: ' + env.BUILD_DISPLAY_NAME
+        // echo 'env.JOB_NAME: ' + env.JOB_NAME
+        // echo 'env.JOB_BASE_NAME: ' + env.JOB_BASE_NAME
+        // echo 'env.BUILD_TAG: ' + env.BUILD_TAG
+        nodejs('v16') {
+          sh '''
+            node -v
+            npm -v
+            npm install
+          '''
+        }
+      }
+    }
+    stage('构建项目') {
+      steps {
+        script {
+          if ( env.TAG_NAME ) {
+            nodejs('v16') {
+              sh 'npm run build:prod'
+            }
+          } else if ( env.BRANCH_NAME == 'master' ) {
+            nodejs('v16') {
+              sh 'npm run build:prod'
+            }
+          } else if ( env.BRANCH_NAME == 'uat' ) {
+            nodejs('v16') {
+              sh 'npm run build:uat'
+            }
+          } else {
+            nodejs('v16') {
+              sh 'npm run build:test'
+            }
+          }
+        }
+      }
+    }
+    stage('构建docker镜像') {
+      when {
+        anyOf {
+          branch 'master'
+          branch 'uat'
+          branch 'develop'
+          branch 'feature/jenkinsfile'
+        }
+      }
+      environment {
+        BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_powerful_test'
+      }
+      steps {
+        // echo '开始构建docker镜像'
+        script {
+          if ( env.BRANCH_NAME == 'master' ) {
+            BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_prod'
+          } else if ( env.BRANCH_NAME == 'uat' ) {
+            BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_pre'
+          } else {
+            BUILD_DOCKER_JOB = 'cloud_build_docker_nginx_powerful_test'
+          }
+        }
+        build job: BUILD_DOCKER_JOB, parameters: [string(name: 'version', value: env.BUILD_TAG), extendedChoice(name: 'service', value: 'manage_H5')]
+      }
+    }
+  }
+}

+ 1 - 1
package.json

@@ -1,5 +1,5 @@
 {
-  "name": "android-cloud-H5-nuxt",
+  "name": "android-cloud-H5",
   "version": "1.0.0",
   "private": true,
   "scripts": {