生成步骤“执行外壳”在超时后将生成标记为失败

时间:2019-07-23 20:36:35

标签: jenkins

我有以下命令:

php artisan config:clear
timeout 15 php artisan queue:work
php artisan queue:restart

作业失败,并显示以下信息:

+ php artisan config:clear
Configuration cache cleared!
+ timeout 5 php artisan queue:work
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我需要在15秒后停止该命令php artisan queue:work,这就是为什么我使用timeout

为什么我遇到此错误?没有超时,一切正常。

1 个答案:

答案 0 :(得分:0)

据此:https://www.howtoforge.com/linux-timeout-command/#q-how-to-get-commands-exit-status-in-output

timeout成功时的退出代码为124。

由于脚本的退出代码不为0(要么是因为这是您运行的最后一个命令,要么是因为您在脚本中set -e),因此Jenkins将其视为失败。

由于您知道非0退出代码不是失败,因此可以通过将命令传递到始终以退出代码0退出的另一个命令来解决此问题,例如:

timeout 5 php artisan queue:work | :