【问题标题】:Jenkins Build number reset failsJenkins 内部版本号重置失败
【发布时间】:2017-08-23 10:20:48
【问题描述】:

所以我正在尝试使用脚本控制台中的这个 groovy 代码来重置工作中的 Jenkins 内部版本号(因为我以前有很多次),如下所示:

item = Jenkins.instance.getItemByFullName("your-job-name-here")
//THIS WILL REMOVE ALL BUILD HISTORY
item.builds.each() { build ->
  build.delete()
}
item.updateNextBuildNumber(1)

由于某种原因,这不再有效,所以我尝试安装“设置下一个内部版本号”插件,这也没有任何效果。

然后我尝试更改与作业相关的“nextBuildNumber”文件并要求 Jenkins 从磁盘重新加载配置。

您知道为什么在 Jenkins 2.46.3 上重置内部版本号是一个如此大的挑战吗?

【问题讨论】:

  • IIRC Jenkins.instance.save() 或类似

标签: jenkins groovy jenkins-plugins


【解决方案1】:

使用以下命令删除所有现有构建并将构建号重置为1

import jenkins.model.Jenkins

def jobName = "NAME_OF_YOUR_JOB"
def job = Jenkins.instance.getItem(jobName)

job.getBuilds().each { it.delete() }
//reset the build number to 1:
job.nextBuildNumber = 1
job.save()

【讨论】:

  • 我也试过了,但内部版本号仍然没有设置为一个。我什至尝试从 Artifactory 中清除构建和工件。
  • 我已经在 2.60 中进行了测试,并且可以正常工作。我不确定 2.46.3 是否有任何问题。