开发环境Jenkins的job进行编译-打包-build成镜像-推送到镜像私有仓库-部署开发环境-(开发自测)-自测通过-提测。
版本管理:
构建的过程:
开发环境通过验证,则点击“Yes”,没有则Abort。点击Yes后会进行提测通知:
pipeline {
agent any
//定义变量
environment {
BUILD_USER = ""
}
//编译需要的工具
tools {
maven ‘maven‘
jdk ‘java8‘
}
// 分支选择,结合构建参数BRANCH(插件Git Parameter)
parameters {
gitParameter branchFilter: ‘origin/(.*)‘, defaultValue: ‘master‘, name: ‘BRANCH‘, type: ‘PT_BRANCH‘
}
stages {
stage(‘Checkout‘) {
steps {
echo ‘开始拉取代码.....‘
echo ‘${params.BRANCH}‘
git branch: "${params.BRANCH}", credentialsId: ‘7367665a-9730-40be-a6f0-1de413f5ea29‘, url: ‘http://gitlab.vonedao.com/vonechain-tenant/vonedao-tenant-web.git‘
}
}
stage(‘Build‘) {
steps {
echo ‘开始执行打包操作.......‘
sh ‘mvn clean install -Dmaven.test.skip=true -U‘
}
}
stage(‘Build Docker Image‘) {
steps {
echo ‘Build Docker Image‘
//开发环境默认构建镜像版本号
sh ‘mvn -f ./$JOB_NAME/pom.xml docker:stop docker:remove docker:build docker:push‘
}
}
stage(‘Deploy Dev‘) {
steps {
echo ‘开始发布开发环境 .......‘
sh ‘/var/jenkins_home/piplineshell/deploy_dev.sh‘
}
}
stage(‘提测‘) {
input {
message "是否将镜像打tag到测试?"
ok "Yes"
}
steps {
//提测时,自定义版本号,规则是前面三位按照项目版本走,只增加第四位
sh ‘mvn versions:set -DnewVersion=${NewVersion}‘
sh ‘mvn versions:update-child-modules‘
sh ‘mvn clean install -Dmaven.test.skip=true -U ‘
sh ‘mvn -f ./$JOB_NAME/pom.xml docker:stop docker:remove docker:build docker:push‘
sh ‘rm -rf $WORKSPACE/$JOB_NAME/*‘
sh ‘/var/jenkins_home/piplineshell/version_tag.sh‘
//获取构建的账户,需要安装插件:build-user-vars插件
wrap([$class: ‘BuildUser‘]) {
script {
BUILD_USER = "${env.BUILD_USER}"
echo "${BUILD_USER}"
//进行企业微信消息发送
sh ‘/var/jenkins_home/piplineshell/sendmessage.sh‘
}
}
}
}
}
}
在企业微信群添加一个机器人,会生成一个webhook地址。
curl ‘https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=60f7XXXXXXXXXXXX19‘ -H ‘Content-Type: application/json‘ -d ‘
{
"msgtype": "markdown",
"markdown": {
"content": "项目<font color=\"warning\">vonedao-tenant-message-biz</font>已经提测,请相关同事注意。\n> 提测镜像:<font color=\"comment\">docker.vonedao.com/vonedao-cs/vonedao-tenant-message-biz:1.0.0.4</font>\n> 该版本提交信息:<font color=\"comment\">[Changes](http://jenkins.vonedao.com/job/vonedao-tenant-message-biz/9/)</font>\n> 配置参考:<font color=\"comment\">http://nacos.vonedao.com/nacos/配置文件:vonedao-tenant-message-biz-dev.yml</font>\n> 提测申请人:<font color=\"warning\">chenshanzi</font>\n> 测试环境部署:<font color=\"comment\">确保nacos配置已经同步,请点击:[发布测试环境](http://jenkins.vonedao.com/view/%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83/job/sit-vonedao/)</font>"
}
}‘
原文:https://www.cnblogs.com/zoujiaojiao/p/12983380.html