根据分支发送到生产或审核环境

时间:2017-04-07 15:16:10

标签: gitlab gitlab-ci

我们正在使用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时,正确运行部署到生产的作业。

那么为什么第二份工作被定义时第一份工作没有运行?冲突来自哪里?

谢谢!

1 个答案:

答案 0 :(得分:2)

答案很简单;它们不能有相同的名称:)命名一个部署审查和另一个部署产品及其修复。