【发布时间】:2011-03-02 23:45:52
【问题描述】:
我有一个来自第 3 方工具的构建脚本。它可以正常工作,但最后会抛出一个我需要忽略的无用异常。
但哈德森并没有忽视它。当此脚本以错误代码退出时,它会停止我的构建!= 0。它会这样做,即使最后一行是“退出 0”。
Hudson 构建配置中没有选项来指定如何处理特定构建步骤的失败。
有没有隐藏的选项告诉哈德森继续前进? Hudson 的 config.xml 的一般参考在哪里?
【问题讨论】:
标签: hudson
我有一个来自第 3 方工具的构建脚本。它可以正常工作,但最后会抛出一个我需要忽略的无用异常。
但哈德森并没有忽视它。当此脚本以错误代码退出时,它会停止我的构建!= 0。它会这样做,即使最后一行是“退出 0”。
Hudson 构建配置中没有选项来指定如何处理特定构建步骤的失败。
有没有隐藏的选项告诉哈德森继续前进? Hudson 的 config.xml 的一般参考在哪里?
【问题讨论】:
标签: hudson
在 Unix 系统上,解决此问题的一种方法是在 bash 的子 shell 中运行它,并使用“exit 0”作为最终命令。例如:
bash -c "false; 退出 0"
这将运行“false”,但返回值为 0。
这有点hacky,但确实有效。我不知道windows是否存在类似的解决方案。
【讨论】:
Hudson 的一个关键特性是一切都可以通过网络界面进行配置。所以查看 config.xml 不是正确的方法。
在 Hudson 中,您的 windows 命令可以通过批处理文件启动。我建议研究使该批处理文件返回零错误代码,无论您的第三方工具做什么。第一行将调用您的工具,第二行将是 'exit 0'
【讨论】:
似乎必须将有问题的脚本包装在自己的 bat 中:
copy con wrapper.bat
>myErrorMakingScript.bat
>exit /b 0
然后从 Hudson 启动 wrapper.bat。
【讨论】:
使用加入触发器插件 对我来说很好。 勾选“即使某些下游项目不稳定也触发”选项
【讨论】: