我遇到了问题Teamcity
,即使之前的步骤不成功,它也会继续运行构建步骤。
我的构建配置的最后一步是部署我的站点,如果我的任何测试失败,我不希望它这样做。
每个构建步骤都设置为仅在所有先前步骤都成功时才执行。
在 Build Failure Conditions 选项卡中,我检查了 Fail build if 下的以下选项:
-build process exit code is not zero
-at least one test failed
-an out-of-memory or crash is detected (Java only)
这不起作用 - 即使测试失败 TeamCity 部署我的站点,为什么?
我什至尝试添加一个额外的构建失败条件,它将在构建日志中查找特定文本(即“测试运行失败”。)
在概览页面中查看已完成的测试时,您可以看到针对最新版本的错误消息:
“试运行失败。” 文本出现在构建日志中
但无论如何它仍然会部署它。
有谁知道如何解决这一问题?看来这个问题已经运行了很长时间,here。
显然有一个解决方法:
到目前为止,我们并不认为此功能非常重要,因为有一个明显的解决方法:脚本可以检查必要的条件,并且不会生成 TeamCity 中配置的工件。
例如,脚本可以将工件从临时目录移动到 TeamCity 中指定的目录,作为在完成之前发布的工件,以防构建操作成功。
但这对我来说并不清楚如何做到这一点,而且听起来也不是最好的解决方案。任何帮助表示赞赏。
编辑:我还能够解决快照依赖项的问题,在那里我将有一个单独的“部署”构建,它依赖于测试构建,现在如果测试失败,它就不会运行。
这对于设置依赖关系很有用。