2013-01-14 155 views
5

我在Mercurial回购中托管了一个Gradle多项目。我想以这种方式设置我的Jenkins,如果我只将更改提交到1个子项目中,那么只有该子项目将被构建并发布到我的Nexus回购。在Jenkins上构建多项目Gradle

有人可以给我一个提示吗?或者完全有可能?

回答

0

留下我们对未来的最终解决方案。

我们为每个子项目创建了一个单独的Jenkins作业。 Jenkins的Mercurial插件允许指定“模块”:

通过在存储库中指定逗号或空格分隔的“模块”列表来减少不必要的构建。模块是该项目所在存储库中的目录名称。如果设置了该字段,指定模块外部的更改将不会触发构建(即使由于Mercurial限制,无论如何都会检出整个存储库)。

这样我们的工作只有在监控子项目发生变化时才会触发。

0

我想你需要在jenkins中为每个子项目创建一个项目。

其他选项是找到是否有方法来拦截回购同步并查看哪个子项目已更改并动态构建。

2

我们有这个工作。

我们在Jenkins中为每个gradle子项目创建一个项目。而在詹金斯配置,我们通过做这样的事情只建子项目:

gradle clean :<subproject>:build 

我们仍然有作业时,会引发所有签入到整个项目的问题。我想配置詹金斯只有在签入子项目时才构建,但不知道如何指定它。

相关问题