【发布时间】:2022-06-15 15:28:52
【问题描述】:
我需要设置一个在其他几个作业之一完成后开始运行的作业,这些作业都在同一个阶段。
我尝试使用关键字 "needs" ,但我不知道如何告诉它考虑“如果只完成所有工作中的一项”的情况
我正在寻找的是某种获得它的方法:
如果:JOB_A 完成 OR JOB_BA 完成
然后:运行 JOB_C
JOB_A
stage: mystage
...
JOB_B
stage: mystage
...
JOB_C:
stage: mystage
variables:
PLAYBOOK_NAME: myplaybook.yml
INVENTORY_NAME: myInventory.yml
needs: [JOB_A or JOB_B] # THIS is a wrong way to set it i think
when: manual
建议??
【问题讨论】:
-
你能解释一下用例吗?我们可能会为您的问题找到更合适的解决方案。
-
@JFabianMeier,我有几个工作,每个工作用于部署在特定平台上,当部署结束时,我需要运行一个特定的工作来保存一些关于已经完成的部署的信息跨度>
-
但是如果一个部署已经发生而另一个仍在运行,你想忽略另一个部署的结果。第一次成功部署会被分析,其他的都不重要,这似乎有点奇怪。
-
我所有的部署都是手动的,
-
所以你实际上只是执行许多可能的部署之一?
标签: gitlab continuous-integration gitlab-ci cicd gitlab-pipelines