首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在'Execute Shell‘生成步骤中调用的shell脚本失败,但Jenkins生成被标记为已通过

在'Execute Shell‘生成步骤中调用的shell脚本失败,但Jenkins生成被标记为已通过
EN

Stack Overflow用户
提问于 2018-12-18 13:55:35
回答 1查看 173关注 0票数 1

我在Jenkins的'Execute Shell‘构建步骤中调用了一个带有一些参数的shell脚本。

代码语言:javascript
复制
./shell_1.sh "$Param1" "$Param2" "$Param3"

这个shell脚本下载puppet模块,设置目录,最后调用一个puppet脚本。

代码语言:javascript
复制
puppet apply ${WORKSPACE}/scripts/puppet/sample.pp

这里的问题是Jenkins控制台显示了puppet脚本中的错误,然后以成功状态结束。

以下是来自Jenkins控制台的最后3行代码:

代码语言:javascript
复制
06:46:44 [1;31mError: /Stage[main]/Main/Deployit_environment[Environments/Build/Test/UAT/UAT-env]: Could not evaluate: cannot send request to deployit server 404/Not Found:Repository entity [Infrastructure/Build/Test/UAT/server_123/test-sample-service] not found[0m
06:46:44 [mNotice: Applied catalog in 1.82 seconds[0m
06:46:45 Finished: SUCCESS

如果木偶脚本中有任何错误,我希望Jenkins作业失败。

我尝试使用-xe选项调用外壳脚本。但没起作用。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-12-18 15:10:04

Jenkins构建步骤检查脚本的错误代码是否为0。如果它有另一个值,则构建将失败。

要打印$?变量,请使用echo命令:

代码语言:javascript
复制
echo $?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53827123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档