假设我有三个工作,A,B和C.它们都运行相互交互的集成测试。 C依赖于B,B依赖于A.
当SCM民意调查触发三个项目中的任何一个时,有没有办法触发A,然后是B,然后按顺序触发C?
E.g。我将代码检入A,几分钟后我将代码检入C.我需要首先构建A,然后构建B以运行集成测试,然后构建C.但我不能保证这与常规轮询间隔。< / p>
我看过参数化的构建插件,但是如果没有无限的构建循环,我无法找到一种方法。
编辑:下面的答案似乎是最好的选择,但我正在使用Mercurial并且无法找到检查多个Mercurial回购的方法。
答案 0 :(得分:2)
当然这是一个陈旧的问题,但如果你还在处理这个问题,我可以使用另一种选择(或者其他人像我在搜索类似问题时那样运行):
&#34;不同步&#34;可能没有必要(它只会在相关工作上再次同步),但会保留当前链的确切功能。
答案 1 :(得分:1)
一种方法是将作业A配置为始终触发作业B,将作业B配置为始终触发作业C.这将确保它们按您所需的顺序运行。
现在,您希望SCM更改为3个作业中的任何一个以启动链。在作业A中,您可以对所有3个存储库位置执行SCM检出(只是不要在作业A中使用它们)。
这样,轮询将应用于所有3个位置,将触发作业A,进而触发您想要的正确链