在合并请求期间和合并后运行 GitlabCI

Kar*_*ter 9 gitlab-ci

如何在合并请求和合并后运行 GitLab CI?

两个分支,dev 和 master。两个工作,测试和部署。

在从任何分支到 dev 分支的合并请求时,CI 将触发。但我现在只想运行测试作业。当合并请求被合并时,它将继续执行部署作业。原因是,虽然所有的测试都会通过,但我们仍然无法继续部署,因为在 Code Review 中,验证者可能会提出一些开发人员需要解决的评论。只有在处理这些评论之后,如果单元测试成功,才会允许合并。合并请求合并后,才允许部署。dev 分支将部署到 dev/test,master 将部署到 staging。Prod 将手动部署。

Phi*_*wig 9

使用onlyexcept语法来定义不同的作业。如果您要合并到您的master分支,您可以创建一个before-merge使用以下语法调用的作业:

before-merge:
  except:
  - master
Run Code Online (Sandbox Code Playgroud)

然后,您的部署作业仅在提交到 master 分支时运行:

deploy:
  only:
  - master
Run Code Online (Sandbox Code Playgroud)

这样,除了master之外的before-merge所有分支上的提交都应该执行作业,并且只有在合并到 master 分支后才会执行作业。deploy

参考:https : //docs.gitlab.com/ce/ci/yaml/README.html#only-and-except-simplified

  • 我明白了,在阅读链接后,我仍然无法实现我想要的。CI 的整个流程是在合并请求上,它将运行测试作业,合并合并请求后,它将运行部署作业。 (3认同)