跳过正文
Background Image
  1. Posts/

忽略 Jenkins Shell 步骤中的故障

·389 字·1 分钟· ·
沈显鹏
作者
沈显鹏
目录

《Jenkins Tips 1》 —— 每期用简短的图文描述一个 Jenkins 小技巧。

问题
#

  • 不希望 Shell 脚本因失败而中止
  • 想一直运行 Shell 脚本并报告失败

解决
#

方法一
#

运行 Shell 时,你可以通过使用内置的 +e 选项来控制执行你的脚本错误。这可以禁用“非 0 退出”的默认行为。

请参考如下四个示例中的测试 Shell 和测试结果 Console Output。

示例一
#

执行的时候如果出现了返回值为非零(即命令执行失败)将会忽略错误,继续执行下面的脚本。

set +e
ls no-exit-file
whoami

示例一:测试结果

示例二
#

执行的时候如果出现了返回值为非零,整个脚本就会立即退出。

set -e
ls no-exit-file
whoami

示例二:测试结果

方法二
#

示例三
#

还有一种方式,如果不想停止失败的另一种方法是添加 || true 到你的命令结尾。

# 做可能会失败,但并不关注失败的命令时
ls no-exit-file || true

示例三:测试结果

示例四
#

如果要在失败时执行某些操作则添加 || <doSomethingOnFailure>

# 做可能会失败的事情,并关注失败的命令
# 如果存在错误,则会创建变量 error 并将其设置为 true
ls no-exit-file || error=true

# 然后去判断 error 变量的值。如果为真,则退出 Shell
if [ $error ]
then
   exit -1
fi

示例四:测试结果

相关文章

如何通过 Jenkins 进行资源的锁定和释放
·901 字·2 分钟
本文介绍了如何使用 Jenkins 的 Lockable Resources 插件来管理和锁定资源,确保在多任务环境中资源的独占性和安全性。
通过 Jenkins 来提交修改的代码 git push by Jenkins
·439 字·1 分钟
如何通过 Jenkins Pipeline 脚本来提交修改的代码到 Git 仓库,包括克隆仓库、修改代码和推送更改等步骤。
Jenkins Linux Agent 配置
·353 字·1 分钟
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。
Jenkins Windows Agent 配置
·608 字·2 分钟
本文提供 Jenkins Windows Agent 的详细配置步骤,包括 Java 运行时准备、节点创建以及常见问题的排查方法。
Jenkinsfile 配置
·256 字·1 分钟
本文介绍了如何使用 Jenkinsfile 配置 Jenkins Pipeline,包括构建、测试和发布阶段的示例,以及如何处理邮件通知。
Jenkins 与 Bitbucket Webhooks 的配置和使用
·1303 字·3 分钟
本文介绍如何在 Jenkins 中配置 Bitbucket Webhooks,以便在创建 Pull Request 时自动触发 Jenkins 构建。