GitLab 仅手动而不是自动运行管道
Posted
技术标签:
【中文标题】GitLab 仅手动而不是自动运行管道【英文标题】:GitLab run pipeline only manually and not automatically 【发布时间】:2021-02-09 21:30:45 【问题描述】:我的 GitLab 管道在每次推送时自动执行,我想手动运行管道而不是每次推送。
管道文档:https://docs.gitlab.com/ee/ci/yaml/#workflowrules
我试过这个 .gitlab-ci.yml
workflow:
rules:
- when: manual # Error: workflow:rules:rule when unknown value: manual
【问题讨论】:
【参考方案1】:我们可以将您的作业定义为仅在 Gitlab 上执行。 Web 选项用于通过使用 GitLab UI 中的运行管道按钮从项目的 CI/CD > 管道部分创建的管道。
only:
- web
【讨论】:
【参考方案2】:如文档中所述,我认为您应该指定一个条件,告诉 Gitlab 不要专门针对这样的推送事件运行管道:
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
when: never # Prevent pipeline run for push event
- when: always # Run pipeline for all other cases
嗯,这一切都来自官方文档,但我希望这可以帮助你:)
【讨论】:
非常有帮助,谢谢!【参考方案3】:这是我想出的解决方案:
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always
- when: never
这指定它仅在您单击 Web UI 中的“运行管道”按钮时才会运行。在所有其他情况下,它不会被触发。
【讨论】:
以上是关于GitLab 仅手动而不是自动运行管道的主要内容,如果未能解决你的问题,请参考以下文章