我们正在进行两个构建,A 和 B,其中A是一个依赖于库B的应用程序,两者均为Qt项目。
Jenkins每15分钟轮询SCM。有时我提交A和B,但A的计时器结束之前B的计时器结束了。因此,应用程序会使用旧库进行构建,导致构建失败。现在我正在寻找一种方法告诉Jenkins,在A的构建开始之前必须先构建B。然而,只有在成功构建之后才能构建其他东西。
是否有简单的解决方案或者我们只是搞砸了构建过程?
latest.integration
(或类似)版本,就会触发A的构建。latest.integration
,而是一个特定的版本。这样可以实现确定性构建,并简化CI作业设置(仅在代码发生更改时构建A(包括它所依赖的B的版本)),但您需要自己在自己的时间内达到这个认识。
顺便说一下,尽管Ivy非常专注于Java,但我已经在非Java项目上非常成功地使用它;不要被吓到。