覆盖Hudson中的内部版本号

问题描述 投票:0回答:5

如何覆盖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

但是哈德森仍然使用自己的号码并声称构建号码是70,我希望它是32(如上例所示)。

svn build-process hudson build-automation
5个回答
3
投票
  1. 在构建开始后,无法设置构建号。
  2. 构建号需要是数字。
  3. 构建号码必须是唯一的。

有一个插件可以设置next build number的工作。但这不是您正在寻找的功能,因为该工作已经开始。你应该看看哈德森的fingerprint feature。另一个不错的插件,可能会帮助你是description setter plugin。看看this issue,以便更好地了解内部版本号。


2
投票

我找到了一种方法,只需更改jobs / project / nexBuildNumber中的版本号,然后获取Manage Hudson选项卡,然后单击“从磁盘重新加载配置”,然后它将加载新的被覆盖的内部版本号。


0
投票

当你说哈德森使用自己的号码时,你的意思是左侧边栏吗?

如果是这样,可能是因为当你设置它时(我猜测是通过构建>执行shell脚本),该数字已经被用于创建构建本身,因此它使用70而不是32。

但是,由于您更改了Execute shell脚本中的数字,因此在此之后使用内部版本号的任何内容都应使用32。


0
投票

我改变主意了。我没有改变Hudson的内部版本号,而是使用它来版本化我的二进制文件。所以现在我有一个带有这种版本的二进制文件:

1.2.${SVN_REVISION}.${BUILD_NUMBER}

并将它与Description Setter插件相结合,我可以在任何地方反映每个数字。谢谢你的帮助。


0
投票

我在Team City CI中完成了这项工作,这与Hudson相似。

在命令行参数中设置-DSVN_REVISION = 123 -DBUILD_NUMBER = 456以运行Maven。这应该覆盖这些值。

在Team City中,我使用Maven BuildNumber插件和-DscmBranch = / releases / 2.0.0 -DbuildNUmber = 233来构建我们的版本,因为插件只支持/ tags,/ branches和/ trunk文件夹名称,但我们有/发布夹。这会覆盖scm插件中的值。

© www.soinside.com 2019 - 2024. All rights reserved.