- 安装 Pipeline 插件
- 安装 Groovy Postbuild 插件
- 安装 build user vars 插件
- 安装 Build Name and Description Setter 插件
- 安装 description setter 插件
需要注意:不同的部署方式 设置buildName 和 buildDescription 的方法不一样,根据自己部署方式百度相应的设置方法 -
新建一个 Item
- 配置参数选择信息
-
生成拉取代码流水线语法
-
编译打包流水线语法
-
自定义设置 buildDescription 流水线语法
-
自定义设置 buildName 流水线语法
-
定义流水线脚本
// 声明变量
final def branch = '*/'+env.branch
final def environment = env.environment
final def buildVersion = env.buildVersion
pipeline {
agent any
stages {
stage('set buildDescription') {
steps {
// 自定义设置构建历史显示的名称和描述信息
// 不同的部署方式设置构建历史显示的名称和描述信息方式不一样,根据自己的部署方式自行百度找到设置方法
script {
//设置buildName
wrap([$class: 'BuildUser']) {
// 修改构建历史展示名称
// buildName '#${BUILD_NUMBER} -demo:${buildVersion}-${environment}-${branch}'
//修改Description
buildDescription '<span style="padding-left: 160px;color: #0587d4;"> demo:${buildVersion} ${environment} ${branch} </span>'
}
}
}
}
stage('CheckOut') {
steps {
echo 'STEP 1:拉取代码'
// 开始啦拉去拉取远程代码到本地
checkout([$class: 'GitSCM', branches: [[name: '${branch}']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: '/opt/jenkins/sourceCodeManagement/jenkins-test']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '774c206e-a041-42c1-b96c-41715bd67046', url: 'http://10.0.2.15:8097/jenkins-test.git']]])
}
}
stage('deloy') {
steps {
echo 'STEP 2:编译部署'
echo "当前的部署分支为:${branch}"
echo "当前的部署环境为:${environment}"
echo "当前的部署版本为:${buildVersion}"
sh 'sudo chmod -R 777 /opt/jenkins/sourceCodeManagement/jenkins-test/'
sh '/opt/jenkins/sourceCodeManagement/jenkins-test/src/main/resources/jenkins/deploy.sh ${buildVersion} ${environment}'
}
}
}
}
-
构建部署