|
| 1 | +pipeline { |
| 2 | + environment { |
| 3 | + //该变量使用不了 |
| 4 | + DOCKER_IMAGES_BASE_URL = "10.1.12.41:5000" |
| 5 | + |
| 6 | + CONFIG_CREDENTIALSID = '1a9c014b-0747-465f-b786-1fb2334f5d7f' |
| 7 | + CONFIG_GIT_URL = 'http://10.1.12.35/pengrk/jenkins-jobs.git' |
| 8 | + |
| 9 | + SCRIPT_BASE_PATH = "./jenkins/common/springboot-maven-docker/dev/scripts" |
| 10 | + SCRIPT_CONFIG_BASE_PATH = "../jenkins-job/jenkins/common/springboot-maven-docker/dev/scripts" |
| 11 | + |
| 12 | + //这个需要根据不同的项目进行不同的修改 |
| 13 | + CODE_CREDENTIALSID = '1a9c014b-0747-465f-b786-1fb2334f5d7f' |
| 14 | + CODE_GIT_URL = 'http://10.1.12.146/MPS/EV/mps-micro-employeeveh.git' |
| 15 | + |
| 16 | + //IP不同,其生成jenkins的id不一样 |
| 17 | + DOCKER_HOST_SSH_CREDENTIALSID = "06a9cda9-9af2-4d31-b8ca-2563c55d02ac" |
| 18 | + |
| 19 | + |
| 20 | + EMAIL_CC="" |
| 21 | + |
| 22 | + } |
| 23 | + agent { |
| 24 | + docker { |
| 25 | + image '10.1.12.41:5000/mavendind:1.2' |
| 26 | + args '-v /root/.m2:/root/.m2' |
| 27 | + } |
| 28 | + } |
| 29 | + stages { |
| 30 | + stage('检出配置作业') { |
| 31 | + steps { |
| 32 | + sh 'echo -e "##################### 检出配置作业 start ################################"' |
| 33 | + sh "echo ${CONFIG_CREDENTIALSID} ${CONFIG_GIT_URL} ; rm -rf *" |
| 34 | + git branch: 'master', credentialsId: env.CONFIG_CREDENTIALSID, url: env.CONFIG_GIT_URL |
| 35 | + sh "chmod 777 ${SCRIPT_BASE_PATH}/*.sh " |
| 36 | + sh 'echo -e "##################### 检出配置作业 end ################################\n\n"' |
| 37 | + } |
| 38 | + } |
| 39 | + |
| 40 | + stage('备份配置作业') { |
| 41 | + steps { |
| 42 | + sh "${SCRIPT_BASE_PATH}/11configout.sh" |
| 43 | + } |
| 44 | + } |
| 45 | + stage('检出代码') { |
| 46 | + steps { |
| 47 | + sh 'echo -e "\n##################### 检出代码 start ################################"' |
| 48 | + // git branch: 'dev', credentialsId: '1a9c014b-0747-465f-b786-1fb2334f5d7f', url: 'http://10.1.12.146/MPS/RN/RoadNet.git' |
| 49 | + git branch: 'dev', credentialsId: env.CODE_CREDENTIALSID, url: env.CODE_GIT_URL |
| 50 | + sh 'echo -e "##################### 检出代码 end ################################\n"' |
| 51 | + |
| 52 | + } |
| 53 | + } |
| 54 | + stage('合并配置作业') { |
| 55 | + steps { |
| 56 | + sh "${SCRIPT_CONFIG_BASE_PATH}/12configmerge.sh" |
| 57 | + } |
| 58 | + } |
| 59 | + stage("初始化环境变量") { |
| 60 | + steps { |
| 61 | + sh 'chmod 777 ${SCRIPT_BASE_PATH}/*.sh ' |
| 62 | + sh '${SCRIPT_BASE_PATH}/01init.sh ' |
| 63 | + } |
| 64 | + } |
| 65 | + stage('单元测试') { |
| 66 | + steps { |
| 67 | + sh '${SCRIPT_BASE_PATH}/02unittest.sh ' |
| 68 | + } |
| 69 | + } |
| 70 | + stage("静态代码检测") { |
| 71 | + steps { |
| 72 | + sh '${SCRIPT_BASE_PATH}/03staticCheck.sh ' |
| 73 | + } |
| 74 | + } |
| 75 | + stage("构建JAR包") { |
| 76 | + steps { |
| 77 | + sh '${SCRIPT_BASE_PATH}/04buildjar.sh ' |
| 78 | + } |
| 79 | + } |
| 80 | + stage('构建Docker镜像') { |
| 81 | + steps { |
| 82 | + sh '${SCRIPT_BASE_PATH}/05dockerbuild.sh ' |
| 83 | + } |
| 84 | + } |
| 85 | + stage('部署镜像到Docker') { |
| 86 | + steps { |
| 87 | + sshagent([env.DOCKER_HOST_SSH_CREDENTIALSID]) { |
| 88 | + // sshagent(["06a9cda9-9af2-4d31-b8ca-2563c55d02ac"]) { |
| 89 | + sh '${SCRIPT_BASE_PATH}/06dockerdeploy.sh ' |
| 90 | + } |
| 91 | + } |
| 92 | + } |
| 93 | + stage('自动化接口测试') { |
| 94 | + agent { |
| 95 | + docker { |
| 96 | + image '10.1.12.41:5000/newman' |
| 97 | + reuseNode true |
| 98 | + } |
| 99 | + } |
| 100 | + steps { |
| 101 | + sh '${SCRIPT_BASE_PATH}/07autoTest.sh ' |
| 102 | + } |
| 103 | + |
| 104 | + } |
| 105 | + |
| 106 | + } |
| 107 | + //https://jenkinsci.github.io/jira-steps-plugin/steps/project/ |
| 108 | + post { |
| 109 | + |
| 110 | + failure { |
| 111 | + // sh "export" |
| 112 | + mail bcc: "",mimeType: "text/html", body: "构建失败,请访问<a href=${RUN_DISPLAY_URL}> ${RUN_DISPLAY_URL} </a> 查看结果!", cc: "", from: env.EMAIL_SEND, replyTo: '', subject: "${BUILD_TAG} - Build # ${BUILD_NUMBER} 构建失败 ", to: env.EMAIL_RECEIVE |
| 113 | + |
| 114 | + } |
| 115 | + unstable { |
| 116 | + // sh "export" |
| 117 | + mail bcc: '',mimeType: 'text/html', body: ' 构建不稳定,请访问<a href="${RUN_DISPLAY_URL}"> ${RUN_DISPLAY_URL} </a> 查看结果!', cc: env.EMAIL_CC, from: env.EMAIL_SEND, replyTo: '', subject:"${BUILD_TAG} - Build # ${BUILD_NUMBER} 构建不稳定", to: env.EMAIL_RECEIVE |
| 118 | + |
| 119 | + } |
| 120 | + aborted { |
| 121 | + // sh "export" |
| 122 | + mail bcc: "",mimeType: "text/html", body: "构建aborted,请访问<a href=${RUN_DISPLAY_URL}> ${RUN_DISPLAY_URL} </a> 查看结果!", cc: env.EMAIL_CC, from: env.EMAIL_SEND, replyTo: '', subject: "${BUILD_TAG} - Build # ${BUILD_NUMBER} 构建aborted", to:env.EMAIL_RECEIVE |
| 123 | + } |
| 124 | + success { |
| 125 | + // sh "export" |
| 126 | + mail bcc: "",mimeType: "text/html", body: "构建成功,请访问<a href=${RUN_DISPLAY_URL}> ${RUN_DISPLAY_URL} </a> 查看结果!", cc: env.EMAIL_CC, from: env.EMAIL_SEND, replyTo: '', subject: "${BUILD_TAG} - Build # ${BUILD_NUMBER} 构建成功", to: env.EMAIL_RECEIVE |
| 127 | + |
| 128 | + |
| 129 | + } |
| 130 | + // always { |
| 131 | + //sh "export" |
| 132 | + //mail bcc: "",mimeType: "text/html", body: "构建完成,请访问<a href=${RUN_DISPLAY_URL}> ${RUN_DISPLAY_URL} </a> 查看结果!", cc: "[email protected]", from: "[email protected]", replyTo: '', subject: "${BUILD_TAG} - Build # ${BUILD_NUMBER} 构建完成", to: "[email protected]" |
| 133 | + // mail bcc: '',mimeType: 'text/html', body: ' 构建完成,请访问<a href="${RUN_DISPLAY_URL}"> ${RUN_DISPLAY_URL} </a> 查看结果!', cc: '[email protected]', from: '[email protected]', replyTo: '', subject: '${BUILD_TAG} - Build # ${BUILD_NUMBER} 完成', to: '[email protected]' |
| 134 | + // } |
| 135 | + } |
| 136 | +} |
| 137 | + |
0 commit comments