如何覆盖Hudson内部版本号?这听起来像一个简单的问题,但实际上并非如此。
主要目标是将SVN修订号作为内部版本号。所以我设置了env。变种。有适当的插件,我有:
BUILD_NUMBER = ${SVN_REVISION}.${BUILD_ID}
BUILD_TAG = ${JOB_NAME}.${BUILD_NUMBER}
BUILD_NUMBER = ${JOB_URL}.${BUILD_NUMBER}
并且在Hudson日志中,实际覆盖了BUILD_NUMBER:
BUILD_NUMBER = 32.2010-11-19_14-10-48
BUILD_TAG = hudson-FF.Course Management-32.2010-11-19_14-10-48
BUILD_URL = http://dot-servers:8080/job/FF.Course%20Management/32.2010-11-19_14-10-48
但是Hudson仍然使用自己的号码并声称构建号码是70,我希望它是32(如上例所示)。
答案 0 :(得分:3)
有一个插件可以设置作业的next build number。但这不是您正在寻找的功能,因为该工作已经开始。你应该看看哈德森的fingerprint feature。另一个不错的插件,可能对你有用description setter plugin。请查看this issue以更好地了解内部版本号。
答案 1 :(得分:2)
我找到了一种方法,只需在jobs / project / nexBuildNumber中更改版本号,然后获得Manage Hudson选项卡,然后单击“从磁盘重新加载配置”,然后它将加载新的覆盖的内部版本号。
答案 2 :(得分:0)
当你说哈德森使用自己的号码时,你的意思是左侧边栏吗?
如果是这样,可能是因为当你设置它时(我猜测是通过构建>执行shell脚本),这个数字已经用于创建构建本身,因此它使用70代替32。
但是,由于您更改了Execute shell脚本中的数字,所以使用之后应使用32的内部版本号的任何内容。
答案 3 :(得分:0)
1.2.${SVN_REVISION}.${BUILD_NUMBER}
并将其与Description Setter插件相结合,我可以在任何地方反映每个数字。 谢谢你的帮助。
答案 4 :(得分:0)
我在Team City CI中完成了这项工作,这与Hudson相似。
在命令行参数中设置 -DSVN_REVISION = 123 -DBUILD_NUMBER = 456 以运行Maven。这应该覆盖这些值。
在Team City中,我使用带有 -DscmBranch = / releases / 2.0.0 -DbuildNUmber = 233 的Maven BuildNumber插件来构建我们的版本,因为该插件仅支持/ tags,/ branches和/ trunk文件夹名称,但是我们有一个/ releases文件夹。这会覆盖scm插件中的值。