我在 TeamCity 中运行了一个构建,只有一个构建步骤:启动一个 BAT 文件。TeamCity 有时会用(双)键盘中断杀死我的构建,我不知道为什么。构建结束时的输出是这样的:
Running build failed.
Error:
NUnit test failed (7).
Starting BuildFailureTarget: recover
Uninstalling service under test..Terminate batch job (Y/N)?
^C
Process exited with code -1073741510
在安装 Windows 服务和 SQL 数据库后,此构建通过 NUnit 运行一些集成测试。如果任何测试失败,构建脚本(使用 FAKE,F# 的 Make)会运行一些清理——卸载服务,拆除数据库。它与构建通过时运行的清理代码相同,只是目标名称不同(recover
)。似乎只有在某些测试失败时,TeamCity 才会终止构建。我应该注意到消息“正在卸载正在测试的服务”来自运行卸载程序的子进程。即使我们关闭了几个失败条件,这样在几个测试失败后构建(虚假地)通过(我们没有使用 Java,所以我们假设一个无关紧要),这种情况仍然会发生:
我无法弄清楚为什么 TeamCity 在完成之前就杀死了我的构建。如何找出导致 TeamCity 发出此中断的原因?