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

时间:2018-07-23 09:48:19

标签: gitlab-ci

如何使GitLab CI在合并请求中以及合并之后运行?

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

在任何分支到dev分支的合并请求中,CI都会触发。但是我只希望测试作业暂时运行。合并请求合并后,它将继续执行部署作业。这样的原因是,尽管所有测试都会通过,但是我们仍然无法继续进行部署,因为在代码审查中,验证者可能会提出一些开发人员需要解决的评论。只有在解决了这些注释之后,然后,如果单元测试成功,才可以将其合并。合并请求合并后,才允许部署。 dev分支将部署到dev / test,而master将部署到暂存。产品将手动部署。

1 个答案:

答案 0 :(得分:4)

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

before-merge:
  except:
  - master

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

deploy:
  only:
  - master

这样,应该对所有分支上的提交执行before-merge作业,而主节点之外的所有分支都必须执行deploy作业,发生了。

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