2010-07-14 32 views
8

我已经将哈德森大型工作分成了更小的工作。作业A执行主构建,而作业B使用不同的配置执行另一构建。我配置了Hudson,因此A触发B并且工作正常,问题是作业A有原始内部版本号,B从1开始。如何与Hudson共享作业之间的BUILD_NUMBER

我的问题是:是否可以通过BUILD_NUMBER环境从作业A到作业B以某种方式变化?构建编号用于构建工件名称,因此在工件之间编号匹配会很好。

谢谢。

回答

8

使用参数化Parameterized Trigger Plugin,这将允许您将构建号码从A传递给B.您将无法真正设置作业B中的内部版本号,但是您将拥有来自A的内部版本号以生成您的版本号。

如果您想同步内部版本号,您可以编辑作业目录中的文件nextBuildNumber以匹配作业A中的编号。请注意,这些数字会随着时间的推移而分开,因为当A失败时,B将不会开始。我只是偶然发现了Next Build Number Plugin。看看,如果这个帮助你。

+0

谢谢彼得。我设法将BUILD_NUMBER从A传递给B,就像在插件首页上记录的那样。 BUILD_NUMBER = $ {} BUILD_NUMBER。 env变量在两个项目中都是相同的。 – kaskelotti 2010-07-15 12:40:06

+0

编辑nextBuildNumber文件似乎没有任何效果,我的更改总是被覆盖。即使A失败,我也可以通过触发B来避免数字不同步。那当然会让B失败。 – kaskelotti 2010-07-15 12:42:36

+0

该场景是:A成功,更改nextBuildNumber-文件,并且需要强制Hudson重新加载配置。这只需要在A失败时完成。如果A没有失败,我不确定哈德森是否会重新加载配置,如果另一个进程运行。 – 2010-07-15 13:39:00

相关问题