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

Continuous Integration pipeline如何触发on_failure步骤且不报错

CI Pipeline 手动触发任务失败解决方案

核心结论

所有符合POSIX标准的shell环境及主流CI系统(GitLab CI、GitHub Actions、Jenkins、Concourse等)均遵循统一的退出码规则:

  • 退出码为0:判定为任务执行成功
  • 退出码为1~255之间的整数:判定为任务正常失败,会自动触发你配置的on_failure步骤,不会被标记为异常报错状态

具体实现方式

你可以直接在run步骤的脚本中对应位置执行exit 1即可手动触发任务失败,示例如下:

# 你的正常业务逻辑
echo "开始执行任务步骤"
# 满足失败条件时主动退出,1是最常用的自定义失败退出码,也可替换为2~255之间的其他数值区分失败原因
if [ 你的失败判断条件 ]; then
  echo "触发手动失败逻辑"
  exit 1
fi

避坑提示

  • 不要使用小于0或大于255的数值作为退出码,这类非法退出码会被CI系统判定为脚本执行异常,也就是你之前遇到的「报错状态」
  • 避免通过set -e后执行错误命令的方式触发退出,部分CI系统会将这类非主动退出判定为异常,主动调用exit返回非0值是最稳妥的实现方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:06