|      1yuanmomo      2024-03-05 06:46:51 +08:00 via iPhone 看了一下,好像整个是一个项目,然后分了很多模块,然后不同的模块一个仓库,这样就要处理模块之间的依赖问题,其次就是修改其中一个字模块,又需要触发整个项目的编译? | 
|      3securityCoding      2024-03-05 08:47:48 +08:00 via Android 没懂,运行时模块依赖不是有 maven 或者 gradle 吗?为什么要手动处理 | 
|      4Sigrdirfa      2024-03-05 08:53:02 +08:00 via Android 不用 maven ? | 
|  |      5wxw752      2024-03-05 08:58:04 +08:00 我经历过的都是手动去 jenkins 里点一下构建,因为启动比较耗时,每个微服务多服务器部署要做滚动发布,没有见过哪个项目推代码自动构建的。 | 
|  |      6qinxi      2024-03-05 09:12:48 +08:00 jenkins 可以选择项目依赖. 选上其他项目就好了 | 
|      7rsyjjsn      2024-03-05 09:21:20 +08:00 你有 ABCD 项目,在 Jenkins 的 A 里面构建完成依赖 BCD ,同理 B 里面依赖 ACD ,这样任意一个项目触发完成后,都会触发剩余的三个项目 | 
|      8Seulgi      2024-03-05 09:26:36 +08:00 你所谓的模块是在一个项目里吗?如果在一个项目里,触发项目的 maven 编译子项目就会全部编译。如果你是不同的项目,那你们需要搭建一个 maven 私服,不同模块的项目写完触发 ci cd 也更新 maven 私服版本,其他模块相互引用用 maven 私服拉依赖。 | 
|      9wu00      2024-03-05 09:51:50 +08:00 干过类似的事情,多个项目同一个仓库; 测试环境每次 merge request 自动触发构建部署,但是又想把构建时间控制在 2 分钟,而不是每次构建所有项目; 所以做了以下事情: - bash 脚本中提前定义好项目直接的依赖和项目根目录路径 - 触发构建时,git diff 遍历哪些项目有代码变更需要构建 - 查找需要构建项目的依赖项目,加入到构建列表 | 
|  |      10halov      2024-03-06 10:08:23 +08:00 可以使用 jenkins pipeline 来保证构建执行顺序 |