You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何添加规则:当指定文件缺失时跳过CI流水线任务

问题

现有一条流水线任务规则,仅当设置了do_job且未设置skip_job时,该任务才会被加入流水线,原规则如下:

rules:
- if: $skip_job == "true"
  when: never
- if: $do_job != "false"

需要添加规则,使得当tasks.yml和inputs.yml这两个文件中的任意一个缺失时,也跳过该任务。

解决方案

你可以通过添加does_not_exist规则实现需求,只要两个文件中任意一个不存在,就触发when: never跳过任务。最终规则有两种写法:

写法一:分开检查每个文件

rules:
- if: $skip_job == "true"
  when: never
- does_not_exist: tasks.yml
  when: never
- does_not_exist: inputs.yml
  when: never
- if: $do_job != "false"

写法二:合并检查多个文件

如果想简化规则,也可以把两个文件的检查合并成一条,只要其中任意一个不存在就跳过:

rules:
- if: $skip_job == "true"
  when: never
- does_not_exist:
  - tasks.yml
  - inputs.yml
  when: never
- if: $do_job != "false"

规则逻辑说明

  • 第一条规则:当skip_job被设置为"true"时,直接跳过任务
  • 文件检查规则:只要tasks.yml或inputs.yml任意一个不存在,就跳过任务
  • 最后一条规则:只有当do_job的值不等于"false"时,任务才会被加入流水线

只有同时满足**未设置skip_job、两个文件都存在、do_job未被设为false**这三个条件时,任务才会被执行。

内容的提问来源于stack exchange,提问作者Velkan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:01:35