我们正在将一组作业(涉及相同的代码库)迁移到管道。分成多个工作岗位的主要原因是实现了并行性和精细化的回报值。管道/ Jenkinsfile方法似乎很合适。有些插件仍然缺失,但总而言之,我们已经走上了良好的轨道。
我们缺少的一件事就是我们以前的良好命名。之前,每个版本都会得到$jobname $buildnumber ($branch)
之类的名称,它会给我们app-spec #42 (new-feature)
。这导致了jenkins“执行者身份” - 侧栏的良好可见性。
使用管道,我们只获得part of app-pipeline #23
,这迫使我们查看构建并确定在任何给定时刻正在运行的内容。
有没有办法覆盖侧边栏中显示的名称?
更新
我主要想要“在该执行程序中运行并行化管道的哪个部分”的答案。
答案 0 :(得分:7)
在每个并行条目中放置一个stage('name'){}
块。阶段的名称将显示在执行程序状态中。因此,无论您希望在状态中看到什么,都要命名您的舞台。
注意,"part of ..."
标签仍将显示在构建队列中,但执行程序状态将正确显示。
parallel (
'newOne': { stage('new-feature'){ //all the things } },
'second': { stage('second branch'){ //all the things } },
'third': { stage('third branch'){ //all the things } },
)
执行人将显示
jobname #nnn (new-feature)
jobname #nnn (second branch)
jobname #nnn (third branch)
编辑:我运行了一个测试管道,该管道模拟了3轴的多工作作业:OS,JDK Fruit。配置组合的每个分支并行运行并具有命名分支。执行程序状态表示正在运行的每个组合:
答案 1 :(得分:3)
尝试使用:
currentBuild.displayName = "My friendly name"
答案 2 :(得分:2)
使用:
currentBuild.displayName="${JOB_NAME} ${BUILD_NUMBER} (${BRANCH})"
如果它是声明性管道,则需要用脚本{}包裹它:
script
{
currentBuild.displayName="${JOB_NAME} ${BUILD_NUMBER} (${BRANCH})"
}