首页 文章

在Gitlab中为每次提交禁用管道,并仅在打开合并请求时运行它

提问于
浏览
5

CI管道在我工作的Gitlab存储库中的每个提交上运行 . 有没有办法禁用它,只在开放的合并请求上运行CI管道到主分支?

任何帮助表示赞赏 . 谢谢 .

3 回答

  • 0

    不 . (尚未!)您可以在此处按照预期的功能开发进行操作 .

    https://gitlab.com/gitlab-org/gitlab-ce/issues/23902

    但是,您可以使用“maofr”的代码自动触发管道

    https://gitlab.com/gitlab-org/gitlab-ce/issues/23902#note_88958643

  • 1

    目前没有配置选项可以做到这一点 . 以下是一些可用于“禁用”管道构建的内容 .

    • 在提交消息中添加 [ci skip] 将不会在推送时触发管道 .

    • 在管道内的所有作业上使用 exceptonly 选项 . 为避免重复,您可以使用Anchors .

    Update: GitLab 11.7

    当推送到GitLab时,您可以通过将ci.skip选项传递给push命令来跳过触发管道: git push -o ci.skip

  • 1

    是的,但仅当您在管道中的每个作业上设置它时 .

    https://docs.gitlab.com/ee/ci/yaml/#only-and-except-simplified

    job:
      script: echo 'test'
      only:
        - merge_requests
    

    该作业将仅在作为合并请求的一部分的提交上运行,而不是每次提交到分支的提交 . 如果将每个作业设置为此设置,则管道将永远不会运行 .

相关问题