GitLab-CI:如何完成一个任务时,另一个任务完成



我项目中的gitlab ci具有三个阶段(测试,构建,部署(。某些任务始终运行,有些只是手动运行。在部署阶段,我有这两个gitlab CI任务:

A:
  stage: deploy
  when: manual
  script:
    - echo "Deploy A"
  only:
  - master
B:
  stage: deploy
  when: manual
  script:
    - echo "Deploy B"
  only:
  - master

当任务A完成时,如何使任务B自动启动?任务A可以手动启动,但B应该在任务A完成时自动启动。

这实际上是可能的(请参阅此处(,但是您需要将作业B放置在不同的阶段,并将laster_failure设置为false false in Job A中。

stages:
  - deploy
  - second-deploy
A:
  stage: deploy
  when: manual
  allow_failure: false
  script:
    - echo "Deploy A"
  only:
  - master
B:
  stage: second-deploy
  script:
    - echo "Deploy B"
  only:
  - master

在第二个任务中使用needs关键字,例如:

stages:
  - deployA
  - deployB
A:
  stage: deployA
  when: manual
  script:
    - echo "Deploy A"
  only:
  - master
B:
  stage: deployB
  needs: ["deployA"]
  script:
    - echo "Deploy B"
  only:
  - master

相关内容

最新更新