430 字约 1 分钟
云原生构建中,每个流水线和任务都有最长执行时间,超时后自动终止。
流水线超时
流水线最长执行时间为 20 小时,超时后容器自动销毁。
任务超时
任务(Job)可通过声明 timeout 自定义超时, 未声明时采用如下默认值。
对于
npc:go等 Agent 任务,timeout作用于 Agent 的每一次工具执行(如 bash 命令),而非整个 Agent 会话; 会话整体时长仍受流水线超时约束。详见npc:go超时说明。
无输出超时
若 Job 连续 10 分钟无任何输出,将触发超时。
若声明了 timeout,则无输出超时时长与配置值一致。
最大超时时间
Job 默认最长执行 2 小时。
若声明了 timeout,则按该值执行,最大不超过 12 小时。
配置示例
以下示例在 push 事件中声明一个任务,并将该任务的超时时间设置为 30 分钟:
.cnb.yml
main:
push:
- stages:
- name: build
image: node:20
script: |
npm install
npm run build
timeout: 30m # 该任务最长执行 30 分钟,超时自动终止声明 timeout 后,该任务:
- 连续 30 分钟无任何输出即触发无输出超时(取代默认的 10 分钟);
- 最长执行 30 分钟,超时后自动终止。
timeout支持ms、s、m、h等单位,更多写法见语法手册。