У меня есть сборка TeamCity, и одним из шагов является вызов MSBuild файла .proj:
Runner type: MSBuild
Build file path: TestProject.proj
Targets: Test
внутри .proj У меня есть цели:
<Target Name="DeployTestService">
<Message Text="Deploying test service" />
<Exec Command="powershell -Command "& { myUsefulPsScript.ps }"" />
</Target>
<Target Name="Test">
// other stuff, then
<CallTarget Targets="DeployTestService" />
</Target>
, и большую часть времени он работает хорошо. Тем не менее, если сценарий powershell завершается неудачно (возникает необработанное исключение, и я вижу его текст в полном журнале) и завершается с ненулевым кодом, я вижу следующее в результатах сборки Teamcity:
Tests passed: (some number); exit code 1
и дерево сборки просто говорит:
Build failure condition (1)
Process exited with code 1
[Time]Process exited with code 1
и пока я не получу полный журнал, я действительно не знаю, какой шаг не удался и как именно. Дело не в том, чтобы исправить первоначальную проблему, а в том, чтобы быстрее найти неисправный шаг.
Есть ли способ заставить Teamcity сказать что-то вроде "бегуна на шаге N не удалось с этим сообщением об ошибке [сообщение, которое я вижу в полном журнале]"?