CI管道在我工作的Gitlab存储库中的每个提交上运行 . 有没有办法禁用它,只在开放的合并请求上运行CI管道到主分支?
任何帮助表示赞赏 . 谢谢 .
不 . (尚未!)您可以在此处按照预期的功能开发进行操作 .
https://gitlab.com/gitlab-org/gitlab-ce/issues/23902
但是,您可以使用“maofr”的代码自动触发管道
https://gitlab.com/gitlab-org/gitlab-ce/issues/23902#note_88958643
目前没有配置选项可以做到这一点 . 以下是一些可用于“禁用”管道构建的内容 .
在提交消息中添加 [ci skip] 将不会在推送时触发管道 .
[ci skip]
在管道内的所有作业上使用 except 和 only 选项 . 为避免重复,您可以使用Anchors .
except
only
Update: GitLab 11.7
当推送到GitLab时,您可以通过将ci.skip选项传递给push命令来跳过触发管道: git push -o ci.skip
git push -o ci.skip
是的,但仅当您在管道中的每个作业上设置它时 .
https://docs.gitlab.com/ee/ci/yaml/#only-and-except-simplified
job: script: echo 'test' only: - merge_requests
该作业将仅在作为合并请求的一部分的提交上运行,而不是每次提交到分支的提交 . 如果将每个作业设置为此设置,则管道将永远不会运行 .
3 回答
不 . (尚未!)您可以在此处按照预期的功能开发进行操作 .
https://gitlab.com/gitlab-org/gitlab-ce/issues/23902
但是,您可以使用“maofr”的代码自动触发管道
https://gitlab.com/gitlab-org/gitlab-ce/issues/23902#note_88958643
目前没有配置选项可以做到这一点 . 以下是一些可用于“禁用”管道构建的内容 .
在提交消息中添加
[ci skip]
将不会在推送时触发管道 .在管道内的所有作业上使用
except
和only
选项 . 为避免重复,您可以使用Anchors .Update: GitLab 11.7
当推送到GitLab时,您可以通过将ci.skip选项传递给push命令来跳过触发管道:
git push -o ci.skip
是的,但仅当您在管道中的每个作业上设置它时 .
https://docs.gitlab.com/ee/ci/yaml/#only-and-except-simplified
该作业将仅在作为合并请求的一部分的提交上运行,而不是每次提交到分支的提交 . 如果将每个作业设置为此设置,则管道将永远不会运行 .