GitLab CI-仅:更改:用例

时间:2019-09-30 12:20:31

标签: build gitlab-ci monorepo

在monorepo微服务体系结构中,每个文件夹有一个服务,我试图使用新的CI功能refs: changes

我的管道包括在每个文件夹(= service)中构建docker映像,然后,如果一切都是绿色的, 它将每个服务部署到AWS。

这是它的外观预览:

CI Pipeline

在图中,我们看到作业api-build失败了。这意味着deploy作业将不会运行(假设!表示已跳过)。

api中的问题位于api文件夹中。因此,在修复并推送修复程序之后,将仅运行api作业。预期的原因是:

    only:
        refs:
            - release
            - uat
        changes:
            - "api/**/*"
            - "*"

哪个给我:

enter image description here

其他服务在上一个管道中已被跳过,由于未包含任何更改,因此现在未部署。

现在是问题/疑问:这对于这种monorepo是一种好方法吗?我该如何处理?

我拥有24多种服务,如果它们每次都无需更改就触发一项工作,那将会减慢部署速度(这是资源的腰包)。

0 个答案:

没有答案