我有一个Hudson工作,只是检查/更新第三方库。打电话给这份工作A.
其他几个工作依赖于此库。称他们为工作B和C.他们使用Job A签出的东西,并且需要它是最新的。
我的问题是,我怎样才能要求作业B和C在运行构建例程之前始终运行作业A(更新库)?
如果无法做到这一点,有人可以推荐另一种方法来达到同样的效果吗?
答案 0 :(得分:1)
你可以通过“孩子”工作以另一种方式做到这一点。例如,您可以将A配置为在成功后触发B和C. (您将在作业A配置页面上找到该选项。)
如果您需要更高级的条件来触发子作业,可以查看Parametrized Trigger plugin。
答案 1 :(得分:0)
在考虑了这个问题之后,我想我可能过于复杂了。
由于作业A中的库很少更新,我们认为仅在一个时间间隔内扫描SVN并在有更改时进行更新可能是可以接受的。如果在检查A的更改后立即开始,B和C的构建将错过库更改的可能性很小,但这应该很少成为问题。
答案 2 :(得分:0)
如果我关注您,听起来您可能需要Join plugin:
此插件允许在所有直接下游作业完成后运行作业。通过这种方式,执行可以分支并并行执行许多步骤,然后在完成所有并行工作后运行一次最终聚合步骤。该插件可用于创建“钻石”形状项目依赖项。这意味着有一个单个父作业可以启动多个下游作业。完成这些作业后,将运行单个聚合作业