Gitlab 发送到生产或审查环境(取决于分支机构)

Gitlab 发送到生产或审查环境(取决于分支机构),gitlab,gitlab-ci,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_de

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

那么,为什么在定义第二个作业时第一个作业不运行呢?冲突从何而来


谢谢

答案很简单;它们不能有相同的名称:)命名一个deploy review和另一个deploy prod及其固定名称。

答案很简单;它们不能有相同的名称:)命名一个deploy review和另一个deploy prod及其修复。

显然……这太愚蠢了。这就是复制/粘贴的危险。谢谢!显然…那太愚蠢了。这就是复制/粘贴的危险。谢谢!