我有一个多模块 Gradle 构建,它位于 GITHUB 存储库中,具有以下布局:
<top level>
- build.gradle
- settings.gradle
-- <WAR 1>
-- <WAR 2>
-- <ZIP 1>
-- <ZIP 2>
-- <SHARED JAR 1>
-- <SHARED JAR 2>
WAR 和 ZIP 工件都使用共享的 JAR。
这在 Gradle 中构建得很好,并且在增量构建中也能很好地工作。
我的问题是,当我创建 Jenkins 作业来构建工件时,我只想对已更改的工件进行版本化和保存。这意味着如果我对 WAR 1 进行更改,则只应构建 WAR 1(Gradle 可以通过增量支持构建此功能)并且 Jenkins 应该只归档 WAR 1 或使用新版本推送到工件存储库。
目前我只能让 Jenkins 始终存档所有 WAR、ZIP 和 JAR。
我正在尝试使用此设置开发一个持续交付管道,从而避免使用 SNAPSHOT,每个工件都将进行版本控制并准备好用于生产。
任何想法都会很棒,谢谢。