|
@@ -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')]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|