合并请求合并后自动运行管道清理

时间:2019-08-28 07:10:48

标签: docker continuous-integration gitlab-ci continuous-deployment

我们正在将动态部署添加到测试环境中,在该环境中,每个合并请求都有其自己的url,以便能够为非开发人员手动进行前端测试。

这些实例与docker-compose和GitLab CI / CD一起很好地部署。

一旦合并请求合并后,我现在想自动关闭这些实例。

到目前为止,我还有其他步骤可以手动关闭测试实例:

deploy-dynamic-down:
  tags:
    - docker
  stage: deploy-dynamic
  script:
   - docker-compose down
  when: manual

这很好用,但需要手动进行,几乎肯定会不时地将其遗忘,这需要我们不时清洁转轮。

所以,我的问题是:我能否仅在合并请求被合并时触发此管道步骤才能运行?

我不能仅将此管道限制为某些分支,例如masterdevelop,因为我们并不总是仅对这些分支创建合并请求。我不知道合并请求将预先定位到哪个分支。

1 个答案:

答案 0 :(得分:2)

您可以使用Gitlab Environments来实现。

您可以配置要为每个测试环境创建的dynamic gitlab environment

您可以设置您的 deploy-dynamic-down 步骤在testing environment is stopped时执行。

此处的关键部分是删除源分支后,环境将自动停止。

工作流程:

  1. 创建功能分支
  2. 部署测试环境
  3. 创建合并请求(在接受合并请求时选中删除源分支。复选框)。在合并合并请求时,还可以选中删除源分支
  4. li>
  5. 接受合并请求后,功能分支将被删除,并且相应的gitlab环境将停止。这将触发 deploy-dynamic-down 步骤。