由于 gitlab 限制了 gitlab CI/CD 上的免费套餐分钟数。我想在提交后禁用管道的自动启动。
我只想通过在 gitlab 界面中单击来手动运行管道。
我该怎么做?
您可以通过以下步骤禁用项目中的 Gitlab CI/CD Pipelines:
您可以验证同样的情况,CI/CD 选项已从左侧面板中消失。
我现在已经参考问题更新了答案:
在提交消息中添加
[ci skip]
或 [skip ci]
不会在推送时触发管道。
您可以将以下代码添加到您的.gitlab-ci.yml中:
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
更多参考:https://docs.gitlab.com/ee/ci/yaml/README.html#workflow https://docs.gitlab.com/ee/ci/yaml/README.html#common-if-clauses-for-rules
我只是想澄清一下 Lucas Lucas Hillesheim (@lucas-hillesheim) 的回答。
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
CI/CD 可以由不同的事件触发。 Gitlab 建议使用
workflow
关键字来控制此类行为。仅当用户按下网页上的按钮时,$CI_PIPELINE_SOURCE == "web"
才会运行管道。所有其他事件,例如 push
、merge_request_event
等都不会导致管道运行。
事实上,这是防止自动 CI/CD 运行的最佳方法,因为当我需要使用
only
/except
来执行特定作业时 - 只是解决方法。首先,因为问题是如何不每次都运行 CI/CD,但通过作业规则,管道本身无论如何都会运行。其次,如果我有很多工作之间存在复杂的needs
- 使用更多条件只是为了开始工作是一场噩梦。第三,它仍然导致管道网页上充斥着未完成/取消的管道。