gitlab-ci:仅包含用于合并请求的外部作业

问题描述 投票:0回答:2

我正在尝试配置一个 CI 管道,其中包含其他项目的作业,但仅用于合并请求。根据 GitLab 文档,我可以将

rules
与 include 一起使用,并且那里支持
$CI_PIPELINE_SOURCE
,但是以下命令根本不运行包含的作业:

include:
  - project: "configs/gitlab-ci"
    file: "checks.gitlab-ci.yml"
    rules:
      - if: $CI_PIPELINE_SOURCE == "merge_request_event"
        when: always

使用相同的规则,我可以选择本地定义的作业在合并请求中运行,但它不适用于包含。除了上面链接的文档之外,我还没有真正找到任何关于该主题的有用信息。

如何使包含仅适用于合并请求?

include gitlab-ci rules gitlab-ci.yml
2个回答
0
投票

我目前有一个类似的设置,我只想包含一些仅用于计划管道的内容。这对我有用:

include:
  - project: project_name
    file:
      - gitlab-ci.yml
    rules:
      - if: '$CI_PIPELINE_SOURCE == "schedule"' # Only include on scheduled pipelines for now

所以我认为以下内容应该适合您:

include:
  - project: "configs/gitlab-ci"
    file: "checks.gitlab-ci.yml"
    rules:
      - if: $CI_PIPELINE_SOURCE == "merge_request_event"

0
投票

我发现了一个描述此问题的 GitLab 问题:gitlab-org/gitlab#393232 所以看来这至少现在已经被破坏了。

© www.soinside.com 2019 - 2024. All rights reserved.