Jenkins中Groovy脚本执行超时导致流水线失败,有哪些可能的配置原因?
可能导致该异常的配置项列表
- sh 步骤单独超时配置:Jenkins的
sh执行步骤支持通过timeout参数设置单步最大运行时长,若未显式配置则会继承任务或全局默认阈值。全根目录扫描的find /命令耗时普遍较长,很容易超出短时长的默认阈值被强制中断。 - Job 级构建超时配置:当前Jenkins任务可能在「构建环境」配置板块开启了全局构建超时规则,只要整个构建任务总耗时超过设定值,无论当前执行到哪一步都会被直接终止。
- 全局流水线默认超时配置:Jenkins管理员可在系统全局配置页设置所有流水线任务的默认最大运行时长,该配置对所有未单独设置超时规则的任务生效。
- 无输出超时规则:部分Jenkins会启用构建无输出超时机制,若某条命令长时间没有新日志输出到控制台,会被判定为进程挂起直接终止。
find命令扫描深层大目录时,容易出现数十秒无新输出的情况,刚好触发该规则。 - 流水线代码块级超时限制:如果你的流水线代码外层嵌套了
timeout代码块,块内所有代码的总执行时长受该块的超时阈值限制,超过阈值就会被强制中断。 - Agent 资源配额限制:若你的Jenkins任务运行在容器化的动态Agent上,管理员可能配置了单任务最大运行时长、CPU/内存配额,超出配额后Agent会被直接销毁,导致构建异常终止。
- 运行环境内置超时参数:若Jenkins Agent的系统环境变量中配置了
TMOUT参数,会给所有shell进程设置默认最大运行时长,长时间执行的命令会被系统直接终止。 - Bitbucket 联动规则限制:你侧报错日志包含Bitbucket状态通知逻辑,也可能是Bitbucket侧针对当前PR/推送设置了构建时长阈值,超过阈值后主动回调Jenkins终止构建流程。
内容的提问来源于stack exchange,提问作者Sebi
相关产品推荐
相关产品推荐

