当使用when关键字时,Gitlab CI规则关键字将作业标记为阻塞而不是跳过

Kak*_*ait 8 gitlab gitlab-ci

到目前为止,我正在使用 gitlab-ci 作业在产品中部署,when: manual但最近我需要在计划作业运行时在产品中自动部署(这将添加特定变量)

因此我when: manualrules关键字进行了如下更改:

rules:
  # deploy if schedule is triggered and thus variable is present
  - if: '$DEPLOYMENT_SCHEDULE == "true"'
    when: always
  # Else (if master branch) keep job as manual (as before)
  - if: '$CI_COMMIT_REF_NAME == "master"'
    when: manual
Run Code Online (Sandbox Code Playgroud)

然而,管道视图发生了一些变化,因为:

  1. 我使用的时候when: manual,pipeline就认为是通过了

当手动时

  1. 使用rules:(当在没有 的情况下在 master 上合并时DEPLOYMENT_SCHEDULE),管道被认为是阻塞的

有规则


有什么我想念的吗?如何才能获得与rules关键字相同的管道结果?

小智 2

@kakawait 我相信在https://gitlab.com/gitlab-org/gitlab/issues/30075上有关于此问题的错误报告

当前的错误行为是什么?

将管道状态显示为已跳过,即使所包含的唯一作业是手动操作。

预期的正确行为是什么?

管道状态应反映手动操作状态。