CI 仅在更改时触发子管道,如果未触发则标记为成功

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

我有一个像这样的 gitlab ci 管道(取自他们的docs

stages:
  - triggers

trigger_reports:
  stage: triggers
  trigger:
    include: reports/.gitlab-ci.yml
  rules:
    - changes:
        - reports/*

trigger_storage:
  stage: triggers
  trigger:
    include: storage/.gitlab-ci.yml
  rules:
    - changes:
        - storage/*

这效果很好,但如果未触发子管道,则将整个管道标记为失败。 gitlab status。消息是

无法创建下游管道,没有为此的阶段/作业 管道

如何仅在更改时运行子管道,但如果未触发则将运行标记为成功?

我尝试添加

  rules:
    - changes:
        - reports/*
    - exists:
        - reports/*

但这也会触发子管道。

gitlab-ci
1个回答
0
投票

文档中并不清楚,并且有一个解决该问题的开放问题 gitlab.com/gitlab-org/gitlab/-/issues/385208 但您需要做的是在子管道中的步骤上应用相同的规则。如果您过滤掉各个规则,子级将根本不会出现在管道中。

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