Jenkins使用gradle子项目构建

Dan*_*aub 8 continuous-integration android gradle jenkins

无论如何我可以在gradle中创建两个模块项目,并自己触发每个模块的构建吗?

Root project 'Example' 
    Jenkinsfile
\--- Project ':SubProject'
    Jenkinsfile
Run Code Online (Sandbox Code Playgroud)

我希望jenkins只在已经更改的模块中触发构建.


例如:

如果我SubProject改变了,那么只会SubProject执行它自己的Jenkinsfile.

我很长时间都在寻找这个选项......

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

是否有任何Jenkins pipelineplugin能处理呢?

Lou*_*met 3

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

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

也许简单的解决办法就是使用svn:externalsGit 子模块将它们解耦。