我有一个我正在组合的管道,它具有三个不同的“部署”步骤,每个步骤都有自己独特的部署,但可以由同一个作业触发。理想情况下,我想找到一种方法来“或”需求部分中的项目,以使该作业在之前的其中一个作业完成后自动运行。
我知道我可以为每个工作创建一个单独的工作来“运行”,但如果可能的话,我想避免重复自己。
Int (Dry Run):
extends: .stageBatchDryRunJob
stage: Deploy Non-Prod
except:
variables:
- $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/
variables:
<<: *hubNonVars
kube_cluster_id: HubInt
kube_env: int
environment: int
Int (Rollback):
extends: .stageBatchRollbackJob
stage: Deploy Non-Prod
except:
variables:
- $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/
variables:
<<: *hubNonVars
kube_cluster_id: HubInt
kube_env: int
environment: int
我想要一个需要完成上述两个工作之一的“运行”工作。
Int (run):
extends: .run-batch
variables:
TOWER_JOB_TEMPLATE: $TOWER_JOB_TEMPLATE_INT
kube_cluster_id: HubInt
kube_env: int
needs: [Int (Dry Run), Int (Rollback)] # can this be "or-ed?" IE needs Int (Dry Run) or Int (Rollback)