让詹金斯无视stderr的方法?

时间:2014-09-29 19:14:40

标签: jenkins stderr

我有一个运行一些shell命令(linux)的jenkins ci作业。具体来说,我正在进入一个git repo并使用git add remote来确保在运行其他命令之前设置了远程。通常遥控器仍然存在,并且有stderr输出说“致命:远程foo已经存在”这对我来说很好,但先生。詹金斯停止工作并将其标记为失败。

我怎么能告诉Jenkins忽略这个stderr或者它是预期的呢?或者有更聪明的方法吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

git add remote git_repo || true

这将返回0退出状态

答案 1 :(得分:2)

问题是Jenkins查看退出代码,如果您运行的任何目标返回非零退出代码,则构建将失败。因此忽略STDERR无济于事。事实上这可能很糟糕,因为如果你隐藏STDERR,其他地方的任何真正的失败都不会出现在Jenkins日志中。

如果遥控器已存在,则您正在运行的git命令返回1。解决方法是包装git命令并忽略退出值并返回自己的退出值