在monorepo微服务体系结构中,每个文件夹有一个服务,我试图使用新的CI功能refs: changes
。
我的管道包括在每个文件夹(= service)中构建docker映像,然后,如果一切都是绿色的, 它将每个服务部署到AWS。
这是它的外观预览:
在图中,我们看到作业api-build
失败了。这意味着deploy
作业将不会运行(假设!
表示已跳过)。
api中的问题位于api文件夹中。因此,在修复并推送修复程序之后,将仅运行api作业。预期的原因是:
only:
refs:
- release
- uat
changes:
- "api/**/*"
- "*"
哪个给我:
其他服务在上一个管道中已被跳过,由于未包含任何更改,因此现在未部署。
现在是问题/疑问:这对于这种monorepo是一种好方法吗?我该如何处理?
我拥有24多种服务,如果它们每次都无需更改就触发一项工作,那将会减慢部署速度(这是资源的腰包)。