我正在制作一个 gitlab ci yaml 文件,它会提示一个作业一个接一个地直接运行。我正在使用需要参数来做一些事情,但现在我有一个用例,其中不同的作业可以触发相同的特定作业,但没有必要同时运行它们。完成这些工作中的任何一项都应该开始新的工作。这是我到目前为止所拥有的:
trigger1_tests:
stage: trigger
script:
- echo "TBD"
allow_failure: false
when: manual
trigger2_tests:
stage: trigger
script:
- echo "TBD"
allow_failure: false
when: manual
run_after_trigger:
stage: test
when: on_success
needs:
- trigger1_tests
- trigger2_tests
虽然上面没有做我想要的。它目前在运行之前等待 trigger1_test
和 trigger2_test
完成。但是,我想要的只是完成这两个作业中的任何一个以触发 run_after_trigger
。所以,我希望 needs
的功能就像它有一个 OR
运算符而不是一个 AND
。到目前为止,|
和 ||
在语法上似乎不正确,所以如果有办法做到这一点,我非常感谢您的帮助!
run_after_trigger:
stage: test
when: on_success
needs: # Need to interpret as OR, not AND
- trigger1_tests OR trigger2_tests