- 安裝 Pipeline 插件
- 安裝 Groovy Postbuild 插件
- 安裝 build user vars 插件
- 安裝 Build Name and Description Setter 插件
- 安裝 description setter 插件
需要注意:不同的部署方式 設置buildName 和 buildDescription 的方法不一樣,根據自己部署方式百度相應的設置方法 -
新建一個 Item
image.png - 配置參數選擇信息
image.png
image.png
image.png
image.png
-
生成拉取代碼流水線語法
image.png
image.png
image.png
image.png -
編譯打包流水線語法
image.png -
自定義設置 buildDescription 流水線語法
image.png -
自定義設置 buildName 流水線語法
image.png -
定義流水線腳本
image.png
// 聲明變量
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}'
}
}
}
}
-
構建部署
image.png
image.png