我的构建配置的最后一步是部署我的网站,如果任何测试失败,我不希望它这样做。
每个构建步骤都设定为只有在所有先前的步骤都成功执行后才能执行。
在“构建失败条件”选项卡中,我已经勾选了以下选项:
-build process exit code is not zero
-at least one test failed
-an out-of-memory or crash is detected (Java only)
这不起作用 - 即使测试失败,TeamCity也会部署我的站点,为什么?
我甚至尝试添加一个额外的构建失败条件,它将查找构建日志中的特定文本(即“Test Run Failed.”)
在概述页面中查看已完成的测试时,您可以看到最新构建的错误消息:
“Test Run Failed.” text appeared in build log
但是它仍然会进行部署。
有人知道如何修复这个问题吗?看起来这个问题已经存在很长时间了,here。
显然有一个解决方法: > 到目前为止,我们认为这个功能不是非常重要,因为有一个明显的解决方法:脚本可以检查必要的条件,并且在 TeamCity 中配置不生成艺术品。 > 例如,一个脚本可以将艺术品从临时目录移动到指定的目录中,在完成之前并且在构建操作成功的情况下发布艺术品。
但我不清楚如何确切地做到这一点,而且这似乎也不是最好的解决方案。任何帮助都将不胜感激。
编辑:我也能够通过快照依赖解决问题,我将有一个单独的“部署”构建与测试构建有依赖关系,如果测试失败,它现在不会运行。 这对于设置依赖项非常有用。