我正在尝试以编程方式为发布分支设置下一个内部版本号,但我遇到了问题。
以下是我尝试过的两种方式:
def job = Jenkins.instance.getItem("master")
job.nextBuildNumber = env.BUILD_NUMBER + 1
job.saveNextBuildNumber()
我也尝试使用CLI
命令:
java -jar ${env.HOME} jenkins-cli.jar -s XX-JENKINS-SERVER" set-next-build-number 'Pipeline/master' 44
但没有运气。
请指导我如何为multibranch管道设置下一个内部版本号。
答案 0 :(得分:4)
你绝对可以做到这一点,我只是做了测试。如果您进入要更改的管道作业的特定分支的实际页面,请注意"完整项目名称:"靠近标题下方的顶部。
然后,按照其他StackOverflow thread:
中的说明进行操作Jenkins.instance.getItemByFullName("My-Build-Pipeline/feature%2FABC-9-improve-build").updateNextBuildNumber(47)
在上面的例子中,我的"完整的项目名称"是:
My-Build-Pipeline/feature%2FABC-9-improve-build
我尝试使用" Next Build Number"该线程中也提到了插件,但它对我的multibranch管道工作没有用。
答案 1 :(得分:0)
对于多分支作业,您需要转到要修改的分支的基础作业,因为每个分支都是独立的。
def jobName = "job-name"
def nextnumber = 32
def wfjob = Jenkins.instance.getItemByFullName(jobName)
def job = wfjob.getItem("master")
print "Was: " + job.nextBuildNumber + "\n"
job.nextBuildNumber = nextnumber
print "Now: " + job.nextBuildNumber
job.save()
wfjob.save()
答案 2 :(得分:-4)
您无法设置下一个内部版本号。它仅供内部使用,用于识别作业运行之间的差异。每次运行作业时,内部版本号都会增加1。没有必要(我不鼓励尝试)设置下一个内部版本号。
请考虑使用job.setDisplayName
更改说明,以反映发布候选版本的内容,或者将其烘焙到分支本身release-candidate-branch-34
。