git 上一个 java 工程有好几个子工程,要是开发只改了一个子工程的代码然后 push,触发 jenkins 构建,这个项目的所有子工程都构建了一遍了。我想过每个子工程配一个 jenkins job,但是所有的 job 会被同时触发。求大佬指点。怎么才能开发改了子工程的代码就只构建那几个子工程
1
heheda11 2021 年 7 月 6 日
install 你想要构建的模块不就行了?
|
2
yzding 2021 年 7 月 6 日 via Android
每个子工程拆分成对应分支开发,就是开发切换麻烦了点
|
3
NizumaEiji 2021 年 7 月 6 日
gitlab-ci 的 only changes?
|
4
shyling 2021 年 7 月 6 日
一般 ci 都是全新的构建吧。
如果你的子项目之间没有依赖,不太理解为什么放在一起。 如果有依赖,那怎么只构建改动的了的呢,加 build 缓存? |
7
daliu 2021 年 7 月 7 日
弄个.env ,然后在 ci 里面加载这个文件。里面有你想要编译的 module 。当你想触发编译的时候,提前修改这个.env 。mvn -pl modulename -am
|
8
lamesbond OP gitlab 的 webhook 的 request body 里有这个东西:
"modified": [ "platform-gateway/Jenkinsfile" ], 可以在 jenkinsfile 里解析 json,获取 modified 参数,就知道哪个子模块修改了,然后做 if else |