【发布时间】:2022-10-07 06:11:12
【问题描述】:
我正在尝试使用 \".gitlab.ci.yml\" 文件中的 \"needs\" 为先前阶段的作业创建具有 \"OR\" 条件的作业依赖项,但无法找到解决方案。
.gitlab-ci.yml 文件->
stages:
- build
- test
- deploy
Build_job:
stage: build
script:
- echo \"hello from build job\"
Test_job1:
stage: test
script:
- echo \"Start test 1\"
when: manual
Test_job2:
stage: test
script:
- echo \"Start test 2\"
when: manual
Deploy_job:
stage: deploy
script:
- echo \"Start deploying the job\"
when: manual
needs:
- job: Test_job1
optional: true
- job: Test_job2
optional: true
我的目标是 Test_job1 或 Test_job2 通过 Deploy_job 应该启用。
但是使用上面的代码,我无法这样做,因为只有当前两个测试作业都通过时,Deploy_job 才会启用。
有没有办法可以使用像needs: [Test_job1 or Test_job2] 这样的东西?
-
我认为这应该通过在您的
Test_job定义中添加:allow_failure: true来解决。但是,如果您计划以包含使用rules关键字的方式扩展配置,则需要小心,因为这可能会干扰when的作业级定义