首页 > 解决方案 > Gitlab CI:当某些用户完成提交时不触发管道

问题描述

我们有一个自动化流程,在每个合并请求结束时提交一个状态文件。我们想配置一个在每个提交上运行的管道,除了这个用户的提交。目前管道配置如下:

test:
  stage: test
  script:
    - make test
  except:
    changes:
      - "the_status_file"

但是,有时状态文件根本不会改变。在这种情况下,管道运行。

相反,我们希望将管道配置为忽略某个用户的提交(该用户是我们创建的自动用户)。这在 gitlab ci 中可能吗?

标签: gitlabgitlab-ci

解决方案


我不知道 Gitlab CI 中有这样的功能。但是,如果您的用户是创建和推送提交的脚本并且您可以控制它,您可以通过插入(或不)[ci skip][skip ci]在您的提交消息中来决定是否触发 CI 管道。

请参阅:https ://docs.gitlab.com/ee/ci/yaml/#skip-pipeline


推荐阅读