Jenkins构建发布Pipeline流水线项目
1.安装jenkins
可以查看:
设置仓库和jenkins的关联(因为我使用的是gitee所以就介绍gitee,其他的都差不多)
gitee和jenkins关联:
其他插件:
用户相关信息:
2.安装pipeline插件
3.创建job
3.1参数化构建过程
设置git参数
3.2流水线
pipeline 代码:pipeline { agent any //环境maven、jdk等
stages { //项目构建
stage('拉取代码') { //拉取代码
steps { //具体实施步骤
echo '拉取代码开始'
//下面 生成流水脚本 生成的 语句
// extensions: [[$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: 'common']]]] 拉取指定目录
checkout([
$class: 'GitSCM', branches: [[name: '*']],
extensions: [
[$class: 'CleanCheckout', deleteUntrackedNestedRepositories: true]
],
userRemoteConfigs: [[credentialsId: '需要获取', url: 'git地址']]
])
echo "拉取的TAG:${TAGNAME}"
echo '拉取代码结束'
}
}
stage('编译打包') { // 编译打包
steps { //具体实施步骤
echo 'build project' // 打包命令
}
}
stage('部署上线') { // 部署上线
steps { //具体实施步骤
echo 'publish project' // 部署命令
}
}
}
post {
success {
//企微通知 TAGNAME 是上面 git参数 那的 名称
sh 'sh /var/lib/jenkins/pipeline/wechat_send.sh token "环境" "${JOB_NAME}" "${TAGNAME}" "${BUILD_DISPLAY_NAME}" "${BUILD_USER}"'
echo 'whole pipeline successful'
}
failure {
echo 'FAILED (global)'
}
}
}
ps:方案
获取credentialsId
点击 生成流水脚本
把生成的 checkout(.......) 放到 上面
3.3构建
结果:
wechat_send.sh 脚本(通知)
#!/bin/sh CHAT_WEBHOOK_KEY="$1" ENV="$2" ITEM="$3" TAG="$4" BUILD_DISPLAY_NAME="$5" OPERATOR="$6" CHAT_WEBHOOK_URL='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key' CHAT_CONTENT_TYPE='Content-Type: application/json' curl "${CHAT_WEBHOOK_URL}=${CHAT_WEBHOOK_KEY}" \ -H "${CHAT_CONTENT_TYPE}" \ -d ' { "msgtype": "markdown", "markdown": { "content": "版本发布通知\n >发布环境:"comment\">'${ENV}' >项目名称:"comment\">'${ITEM}' >发布Tag:"comment\">'${TAG}' >构建名称:"comment\">'${BUILD_DISPLAY_NAME}' >执行人:"comment\">'${OPERATOR}'" } }'
ps:企微通知需要安装 Qy Wechat Notification 插件,当然也可以用 钉钉 通知就不介绍了都差不多
通知
[