我有以下构建方案:
项目C取决于依赖于项目A的项目B
项目X依赖于C,项目Y依赖于B,项目Z依赖于A.
还有许多其他模块具有依赖关系,但最“复杂”的构建关系是项目X.要在Jenkins中设置它,我使用了参数化触发器插件,“块直到触发项目已完成构建“ 选项。每个可构建模块都有自己的Jenkins作业,该插件用于阻止必要的依赖构建作业。
我在这个设置中遇到了两个问题。
我正在寻找有关如何为这样的构建环境配置Jenkins的建议。我是Jenkins的新手,所以我不确切知道有哪些选项可以解决这个问题。
编辑:
所有作业都由SCM更改触发。依赖项目也由参数化触发插件触发; “阻止直到被触发的项目完成他们的构建”选项。
答案 0 :(得分:2)
Jenkins有多种触发构建方式。最常见的是通过观察存储库更改。
但是,您也可以在另一个作业完成构建后自动触发构建。这是詹金斯的内置。在构建触发器下查看并选中复选框Build after other projects are built
,或在构建后部分中,选择构建其他项目构建后操作。并且,您可以在构建上拥有多个触发器,因此如果来自另一个项目的依赖项发生更改或源文件发生更改,则可能会发生构建。
如果您使用Maven或Ivy,如果项目使用的Maven / Ivy jar依赖项发生更改,则可以使用插件来触发构建。
另一个有用的插件是Copy Artifacts Plugin。这允许您将构建工件从项目“X”复制到项目“Y”以用于项目“Y”以用于构建。