GitLab 运行 管道只能手动而不是自动

GitLab run pipeline only manually and not automatically

我的 GitLab 管道在每次推送时自动执行,我想手动 运行 管道而不是在每次推送时执行。

管道文档:https://docs.gitlab.com/ee/ci/yaml/#workflowrules

我试过这个 .gitlab-ci.yml

workflow:
  rules:
    - when: manual    # Error: workflow:rules:rule when unknown value: manual

如文档中所述,我认为您应该指定一个条件,告诉 Gitlab 不要 运行 专门针对推送事件的管道,如下所示:

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "push"'
      when: never  # Prevent pipeline run for push event
    - when: always # Run pipeline for all other cases

好吧,这全部来自官方文档,但我希望这对您有所帮助:)

我们可以将您的作业定义为仅在 Gitlab 上执行。 Web 选项用于通过使用 GitLab UI 中的 运行 管道按钮创建的管道,来自项目的 CI/CD > 管道部分。

only:
   - web

这是我想出的解决方案:

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "web"'
      when: always
    - when: never

这指定它只会 运行 如果您单击 Web UI 中的“运行 管道”按钮。在所有其他情况下,它不会被触发。