构建步骤“执行 shell”在 Jenkins CI 上将构建标记为失败,没有任何错误

Posted

技术标签:

【中文标题】构建步骤“执行 shell”在 Jenkins CI 上将构建标记为失败,没有任何错误【英文标题】:Build step 'Execute shell' marked build as failure on Jenkins CI without any error 【发布时间】:2020-05-12 05:42:10 【问题描述】:

我已将 jenkins CI 集成到我的项目中,因此每当我将更改推送到 github 时,它会自动启动测试用例并构建项目并将其部署到服务器。通过所有测试用例后,我收到了这个奇怪的错误。它还说“测试失败”,但没有显示测试失败。我可以明确地解决主要问题,因为我不知道出了什么问题。

堆栈跟踪到底:

Tests Failed
1416 examples, 0 failures

Took 187 seconds (3:07)
Build step 'Execute shell' marked build as failure
$ ssh-agent -k
unset SSH_AUTH_SOCK;
unset SSH_AGENT_PID;
echo Agent pid 78221 killed;
[ssh-agent] Stopped.
[Slack Notifications] found #203 as previous completed, non-aborted build
[Slack Notifications] will send OnRepeatedFailureNotification because build matches and user preferences allow it
Finished: FAILURE

我的主要脚本如下:

#!/bin/bash -ex

bundle exec rubocop
./script/setup_test $@
bundle exec parallel_rspec $@ spec/
bundle exec yarn test:ci

【问题讨论】:

【参考方案1】:

非零退出代码检测到失败。您的脚本中有多个命令。其中一个命令必须返回非零退出代码。

【讨论】:

嗨@Shashank V,你能告诉我如何检查执行命令的退出代码吗?它在堆栈跟踪中是如何显示的?

以上是关于构建步骤“执行 shell”在 Jenkins CI 上将构建标记为失败,没有任何错误的主要内容,如果未能解决你的问题,请参考以下文章

jenkins 构建触发器 以及参数的传递

为 PERL 脚本构建 CLI 参数的 Shell 脚本

jenkins部署java项目

在windows上使用jenkins远程执行linux shell命令

jenkins中使用变量

jenkins构建执行shell 所有命令出现command not found