主题
一、Jenkins 自定义构建名称和描述插件使用手册
1.1 插件简介
Build Name and Description Setter 用于 Jenkins 构建(Build)名称与描述 的插件,可自定义配置 结构化的命名和详细描述,如版本号、分支名、测试结果等。
- 支持通过 变量替换、Groovy 脚本 或 预定义表达式 动态生成构建名称,替代 Jenkins 默认的 项目名-构建号格式。
- 支持为构建添加 多行详细描述,支持变量替换、HTML 格式(可选)或纯文本。
1.2 插件安装
- 官方地址: https://plugins.jenkins.io/build-name-setter/
- 安装方式: 系统管理 -> 管理插件 -> 可选插件 ->
Build Name and Description Setter
-> 直接安装
1.3 配置标记格式器 为Safe HTML
WARNING
Jenkins出于安全的考虑,所有描述信息的Markup Formatter默认都是采用Plain text
模式,如果构建描述中包含HTML语法默认是无法解析的,需要Markup Formatter设置为Safe HTML
。
- 配置方式: 系统管理 -> Security -> 标记格式器 -> Safe HTML
1.4 配置方法
groovy
//主要配置内容,支持 html 格式
buildName "#${BUILD_NUMBER}:${GIT_BRANCH}" // 更改构建名称
buildDescription "任务运行在@ master节点<br/> 构建者: ${BUILD_USER} <br/> 版本号: ${_VERSION} <br/> 归档下载地址: <a href='http://172.22.33.201/be/${_VERSION}'>🌸点我下载</a> <br/>"
1.5 示例
WARNING
下面的👇示例中使用到了获取构建用户的插件,Build-user-vars-plugin
,具体可参考插件使用说明
groovy
pipeline {
agent any
environment {
_VERSION = sh(script: "echo `date '+%Y%m%d'`" + "-${env.BUILD_ID}", returnStdout: true).trim() //对应构建的版本 时间+commitID+buildID
}
parameters {
gitParameter branch: '', branchFilter: '.*', defaultValue: 'main', description: '构建分支', name: 'GIT_BRANCH', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'GitParameterDefinition'
}
stages {
stage('Checkout 代码') {
steps {
script {
checkout scmGit(
branches: [[name: "${GIT_BRANCH}"]],
extensions: [],
userRemoteConfigs: [
[
credentialsId: 'a122a99b-7bba-48fd-1111-46b68732578a',
url: 'http://code.srebro.cn/opforge/cicd-demo-pig-backend.git'
]
]
)
}
}
}
stage("打印") {
steps {
script {
sh '''
echo "当前的发布版本为:${_VERSION}, 构建分支为: ${branch}"
'''
}
}
}
}
post {
always {
script{
cleanWs()
}
}
aborted {
script{
echo "aborted"
}
}
success {
wrap([$class: 'BuildUser']){
script{
buildName "#${BUILD_NUMBER}:${GIT_BRANCH}" // 更改构建名称
buildDescription "任务运行在@ master节点<br/> 构建者: ${BUILD_USER} <br/> 版本号: ${_VERSION} <br/> 归档下载地址: <a href='http://172.22.33.201/be/${_VERSION}'>🌸点我下载</a> <br/>"
}
}
}
failure {
wrap([$class: 'BuildUser']){
script{
buildName "#${BUILD_NUMBER}:${GIT_BRANCH}"
}
}
}
}
}
- 效果