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 插件,当然也可以用 钉钉 通知就不介绍了都差不多

通知

[