首页 文章

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

提问于
浏览
0

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

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

在从任何分支到dev分支的合并请求中,CI将触发 . 但我现在只想让测试工作运行 . 合并请求合并后,它将继续执行部署作业 . 这样的原因是,虽然所有测试都将通过,但我们仍然无法继续进行部署,因为可能会有一些来自代码审查中验证器的注释,开发人员需要解决这些问题 . 只有在解决了这些注释之后,如果单元测试成功,那么它将被允许合并 . 合并合并请求后,才允许部署 . dev分支将部署到dev / test,master将部署到staging . Prod将手动部署 .

1 回答

  • 3

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

    before-merge:
      except:
      - master
    

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

    deploy:
      only:
      - master
    

    这样,应该对所有分支 except master上的提交执行 before-merge 作业,并且只有在合并到主分支后才会执行 deploy 作业 .

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

相关问题