有没有一种方法来改变建立编号是通过电子邮件发送后,作业完成?问题是,是产品建设没有做詹金斯,所以我们希望能够得到的建设号码(即。从文本文件) ,并更新在詹金斯的内建号码,以匹配它。我试图设置构建编号:
set BUILD_NUMBER=45
但是邮件中仍然显示了詹金斯最初设定的构建编号。
也许这些插件的组合会派上用场:
可以通过插件完成: Https://wiki.jenkins-ci.org/display/jenkins/next+build+number+plugin
更多信息: Http://www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html
如果你不喜欢这个插件:
如果要通过 nextBuildNumber 文件更改构建号,则应该 “从磁盘重新加载配置”从“管理詹金斯”页面。
在作业工作区文件夹下,比如:
C:\Program Files (x86)\Jenkins\jobs\job_name
有一个名为 nextBuildNumber的文件。
nextBuildNumber
在文件中设置构建编号并从磁盘(Manage Jenkins 菜单)重新加载配置,将强制下一次构建时将文件中的值设置为 BUILD _ NUMBER。
如果您可以访问脚本控制台(Manage Jenkins-> Script Console) ,那么您可以执行以下操作:
Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)
通过使用环境变量:
$BUILD_NUMBER =4
如果你有包括 向前斜杠在内的分支名称(例如使用 Git Flow) ,你需要在分支名称内用它的 Unicode字符 % 2F代替 向前斜杠。
下面是管道 我的名字和分支 Release/my-release-Branch-name的示例
Jenkins.instance.getItemByFullName("My-Pipeline-Name/release%2Fmy-release-branch-name").updateNextBuildNumber(BUILD_NUMBER)
我可以通过运行下面的命令来了解这一点,该命令将列出您的管道的不同作业(分支)
Jenkins.instance.getItem("My-Pipeline-Name").getAllJobs()
希望能有帮助。
您可以通过更新 JENKINS 服务器上的文件 ${ JENKINS _ HOME }/jobs/job _ name/nextBuildNumber 来更改构建编号。
您还可以安装插件 下一个构建编号插件来使用 CLI 或 UI 更改构建编号
对于多分支管道项目,请在脚本控制台中执行以下操作:
def project = Jenkins.instance.getItemByFullName("YourMultibranchPipelineProjectName") project.getAllJobs().each{ item -> if(item.name == 'jobName'){ // master, develop, feature/...... item.updateNextBuildNumber(#Number); item.saveNextBuildNumber(); println('new build: ' + item.getNextBuildNumber()) } }
按照下面的步骤: Jenkins 控制台 > 管理 Jenkins > 脚本控制台,然后按如下方式编写脚本:
GetItemByFullName (“ Your _ job _ name”) . updateNextBuildNumber (45)