是否可以使用阶段名称而不是作业名称来使一个作业依赖于另一个作业?
stages:
- build
- deploy
- tests
build-job:
stage: build
deploy-feature:
stage: deploy
except:
- master
when: manual
deploy-prod:
stage: deploy
only:
- master
when: manual
test-cases:
stage: tests
dependencies: deploy-feature
Run Code Online (Sandbox Code Playgroud)
也就是说,我可以不使用“deploy-feature”来使用“deploy”来使测试用例作业同时依赖于deploy-feature和deploy-prod作业吗?我知道它在依赖项中不起作用,但是还有其他可以使用的东西吗?
PS我的动机是仅在任何一个部署功能或部署产品作业成功后才运行我的测试用例作业。目前,我的“部署”作业是手动的,而“测试”作业不是手动的,因此我的“测试用例”作业会提前执行。我也可以在测试用例作业中执行“when:manual”,并且可以在部署作业后手动运行它,但对我来说,这感觉像是一种解决方法,而不是解决方案。我有大约 17 个“测试”工作,因此为每个测试用例工作分配 2 个不同的工作也不是一个可行的想法。
编辑:虽然我已经接受了答案,但即使如此,如果有人有更多要添加的内容或任何不同的解决方案,请分享。