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