我项目中的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