// 所有脚本命令包含在pipeline{}中 pipeline { // 指定任务在哪个节点执行(Jenkins支持分布式) agent any // 配置全局环境,指定变量名=变量值信息 // environment{ // host = '172.17.1.22' // } options{ disableConcurrentBuilds() } 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' } } 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')] } } stage('发布docker镜像') { when { anyOf { // branch 'master' // branch 'uat' branch 'develop' } } environment { PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test' } steps { // echo '开始构建docker镜像' // script { // if ( env.BRANCH_NAME == 'master' ) { // PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test' // } else if ( env.BRANCH_NAME == 'uat' ) { // PUBLISH_DOCKER_JOB = 'cloud_publish_docker_powerful_test' // } else { // 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')] } } } }