使用Gradle子项目构建Jenkins

8
有没有办法在Gradle中创建一个双模块项目,并通过单独触发每个模块的构建来实现?
Root project 'Example' 
    Jenkinsfile
\--- Project ':SubProject'
    Jenkinsfile

我希望Jenkins只触发已更改的模块构建。

例如

如果我的SubProject发生了变化,那么只有SubProject会执行它自己的Jenkinsfile

我寻找这个选项已经很长时间了...

正如你在其他问题中所看到的,没有任何简单的方法可以实现这一点。

是否有任何Jenkins pipelineplugin可以处理这个问题?


如果您想在将代码推送到“子项目”后触发它们,并且只有一个存储库,请查看git子模块https://git-scm.com/docs/git-submodule。 - dmarin
2个回答

3
  • 仅从给定的子项目调用gradle任务相对容易:
    • 构建Example: ./gradlew :build
    • 构建SubProject: ./gradlew :SubProject:build
    • Gradle将仅运行这些调用定义的任务图。
  • 在Jenkins中设置两个不同的作业应该相对容易,基于不同的Jenkinsfile,并且每个都可以定义上面的自定义调用。

然而,仅触发一个项目最有可能是棘手的,因为它们很可能位于同一源代码控制位置。

也许简单的解决方法也是使它们分离,使用svn:externals或Git子模块。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接