gitlab-ci 跳过手动步骤并继续

saj*_*aei 8 linux gitlab-ci

我有以下 GitLab-ci YAML 文件。手动作业将被跳过,并且即使未触发手动作业,管道也会成功完成。

我该如何修复它以及为什么会发生这种情况?

stages:
  - stage1
  - stage2

job1:
  stage: stage1
  script:
    - echo "this is an automatic job"

manual_job:
  stage: stage2
  script:
    - echo "This is a manual job"
  when: manual
Run Code Online (Sandbox Code Playgroud)

小智 5

发生这种情况是因为手动作业被认为是可选的,不需要运行。

在内部,手动作业默认将allow_failure设置为true,这意味着这些跳过的手动作业不会导致管道故障。下面的 YAML 代码演示了如何编写手动作业,这会产生相同的行为。该作业不会自动启动,会被跳过,并且管道会通过。

stages:
  - stage1
  - stage2

job1:
  stage: stage1
  script:
    - echo "this is an automatic job"

manual_job:
  stage: stage2
  script:
    - echo "This is a manual job"
  when: manual
  allow_failure: false
Run Code Online (Sandbox Code Playgroud)

您可以将任何作业的allow_failure设置为true,包括手动作业和自动作业,然后管道不关心作业是否运行成功。

  • 这就是工作。谢谢 (2认同)