我们如何有条件地运行 CircleCI 工作流程?
Posted
技术标签:
【中文标题】我们如何有条件地运行 CircleCI 工作流程?【英文标题】:How do we conditionally run a CircleCI workflow? 【发布时间】:2021-02-25 04:31:32 【问题描述】:我已按照Conditional steps in jobs and conditional workflows 中描述的指南为我的 CircleCI 管道编写了以下代码。
version: 2.1
workflows:
version: 2.1
workflowone:
when:
condition: false
jobs:
- samplejob:
workflowtwo:
when:
condition: true
jobs:
- jobone
jobs:
samplejob:
docker:
- image: buildpack-deps:stable
steps:
- run:
name: Sample Job in WF 1
command: |
echo "This job is in workflowone and the workflow should not run"
jobone:
docker:
- image: buildpack-deps:stable
steps:
- run:
name: Sample Job in WF 2
command: |
echo "This job is in workflowtwo and the workflow should run"
当我运行上面的代码时,输出不是预期的。第一个工作流不应运行,因为条件为假。当管道触发时,两个工作流都开始运行。谁能指出这里缺少的部分?
【问题讨论】:
【参考方案1】:根据 CircleCI 文档,工作流(特别是)不接受 condition
键:
注意:在工作流级别使用逻辑语句时,不要 包括条件:键(条件键仅用于作业 级逻辑语句)。
见这里logic-statement-examples(滚动到本节底部查看注释)
【讨论】:
以上是关于我们如何有条件地运行 CircleCI 工作流程?的主要内容,如果未能解决你的问题,请参考以下文章
仅当同一仓库中的文件添加了新条目时,如何在 github 仓库中运行 CircleCI 作业?