在Hudson上触发依赖作业执行的正确方法

时间:2011-12-12 13:07:29

标签: java build hudson build-process

我有工作A在开发人员提交代码(SCM更改)之后构建。我还有一个应该每天运行一次的作业B(由cron运行),它应该使用由于执行构建A而产生的工件。

是否可以将Hudson作业B配置为在cron上运行,在它真正执行之前应该触发作业A的执行?

工作A不应该对工作B有任何了解。

2 个答案:

答案 0 :(得分:0)

也许是做你想做的更好的方法。让Job A将Job B想要的文件标记为Artifacts(在构建之间保留它们)。然后在它的cron计划上有Job B,当它运行时,它使用Copy Artifact Plugin从Job A检索所需的文件。然后Job B可以执行它的构建操作。

答案 1 :(得分:0)

如果您有一个maven项目(这也是将工件从一个构建传递到另一个构建的好方法),那么M2-extra-steps jenkins插件(现在已弃用并集成到我认为的M2插件中)允许您进行的是:

作为预构建步骤,添加“构建另一个项目”,检查“锁定直到构建完成”并且应该执行您需要的操作。

如果你有自由式项目 - 我不确定。如果不存在等价物,您可能会想出基于锁和锁存器的东西。

所有这一切,如果自上次SCM提交以来没有改变,你为什么要在B之前重建A?