我们正在将动态部署添加到测试环境中,在该环境中每个合并请求都有其自己的url,以便能够为非开发人员手动进行前端测试。
这些实例通过docker-compose
和GitLab CI/CD进行了部署,效果很好。
现在,合并请求合并后,我现在想自动关闭这些实例。
到目前为止,我还有额外的步骤可以手动关闭测试实例:
deploy-dynamic-down:
tags:
- docker
stage: deploy-dynamic
script:
- docker-compose down
when: manual
这很好用,但是需要一个手动步骤,几乎肯定会不时地将其遗忘,这需要我们时不时地清理转轮。
因此,我的问题是:能否仅在合并请求被合并时触发此管道步骤才能运行?
我不能仅将此管道限制为某些分支(例如
master
或develop
),因为我们并不总是创建仅对这些分支的合并请求。我不知道合并请求将预先定位到哪个分支。 最佳答案
您可以使用Gitlab Environments来实现。
您可以配置为每个测试环境创建的dynamic gitlab environment。
您可以将testing environment is stopped设置为在执行ojit_a时执行 deploy-dynamic-down 步骤。
这里的关键部分是删除源分支后,环境将自动停止。
工作流程:
关于docker - 合并请求合并后自动运行管道清理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57686778/