我们正在使用Gitlab-CI,但我们在同时拥有审核和生产环境时遇到了一些麻烦。
我们.gitlab-ci.yml
有几个阶段,但在这里我将重点关注部署阶段:
deploy:
stage: deploy
script:
- some commands
environment:
name: review/$CI_BUILD_REF_NAME
url: http://$CI_BUILD_REF_SLUG.$DEPLOY_SERVER
on_stop: stop_deploy
only:
- /^feature-[cw]\/.*$/
deploy:
stage: deploy
script:
- some other commands
environment:
name: production
only:
- prod
stop_deploy:
stage: deploy
variables:
GIT_STRATEGY: none
script:
- some clean commands
when: manual
environment:
name: review/$CI_BUILD_REF_NAME
action: stop
only:
- /^feature-[cw]\/.*$/
问题是第一个作业不在名称以feature-c/
开头的分支上运行。但是,删除第二个作业时,第一个作业将在这些分支上运行。
在推送到prod
时,正确运行部署到生产的作业。
那么为什么第二份工作被定义时第一份工作没有运行?冲突来自哪里?
谢谢!
答案 0 :(得分:2)
答案很简单;它们不能有相同的名称:)命名一个部署审查和另一个部署产品及其修复。