GitLab CI 在多个构建阶段之一完成后执行部署阶段

时间:2021-04-28 12:54:50

标签: gitlab continuous-integration cd

我有四个构建阶段,手动操作。我想要的是在 one 构建阶段完成后执行部署阶段。目前,我的实现仅在所有四个构建阶段都完成后才有效。

用例:Dev 点击他想要构建的环境。构建完成后,将其部署到系统中。构建完成后应该自动启动部署

问:有没有办法在一个构建完成后执行部署阶段?

我对构建管道的实现(简化):

production:
  stage: env
  script:
    - echo build one
  when: manual
  allow_failure: false

production2:
  stage: env
  script: 
    - echo build two
  when: manual
  allow_failure: false

staging:
  stage: env
  script: 
    - echo build three
  when: manual
  allow_failure: false

staging2:
  stage: env
  script:
    - echo build four
  when: manual
  allow_failure: false

这是我的部署阶段

build:
  stage: build
  needs: [production, production2, staging, staging2]
  when: on_success

  script:
    - echo do deploy stuff

非常感谢,祝你有美好的一天

1 个答案:

答案 0 :(得分:0)

也许这样的事情有帮助?

build:
  stage: build
  needs:
    - job: production
      optional: true
    - job: production2
      optional: true
    - job: staging
      optional: true
    - job: staging2
      optional: true
  when: on_success
  script:
    - echo do deploy stuff