如何在Multibranch管道中为特定分支设置下一个内部版本号

swa*_*ain 4 jenkins multibranch-pipeline

我正在尝试以编程方式为我们的发行分支设置下一个内部版本号,但是我遇到了一个问题。

以下是我尝试过的两种方法:

def job = Jenkins.instance.getItem("master")
job.nextBuildNumber = env.BUILD_NUMBER + 1
job.saveNextBuildNumber()
Run Code Online (Sandbox Code Playgroud)

我也尝试使用CLI命令:

java -jar ${env.HOME} jenkins-cli.jar -s XX-JENKINS-SERVER" set-next-build-number 'Pipeline/master' 44
Run Code Online (Sandbox Code Playgroud)

但是没有运气。

请指导我如何为多分支管道设置下一个内部版本号。

Dan*_*ego 5

您绝对可以做到这一点,而我只是做了测试。如果进入要更改的管道作业的特定分支的实际页面,请注意标题附近顶部附近的“ Full project name:”。

然后,按照另一个StackOverflow 线程中的说明进行操作:

Jenkins.instance.getItemByFullName("My-Build-Pipeline/feature%2FABC-9-improve-build").updateNextBuildNumber(47)
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我的“完整项目名称”为:

My-Build-Pipeline/feature%2FABC-9-improve-build
Run Code Online (Sandbox Code Playgroud)

我尝试使用该线程中也提到的“下一个内部版本号”插件,但是它不适用于我的多分支管道工作。


Eve*_*ace -6

您无法设置下一个版本号。它仅供内部使用,用于识别作业运行之间的差异。每次运行作业时,内部版本号都会增加 1。没有必要(并且我不鼓励尝试)设置下一个版本号。

考虑更改描述,而不是用来job.setDisplayName反映候选版本的情况,或者将其烘焙到分支本身中release-candidate-branch-34