Team City предотвращает запуск шага сборки - PullRequest
4 голосов
/ 18 ноября 2011

Я работаю над настройкой своего сервера непрерывной интеграции с использованием Teamcity, и у меня есть три шага для сборки (.NET / VS2010 / MSBUILD)

  1. Используйте MSBUILD для построения моего решения.
  2. Запустите NUnit Tests.
  3. Используйте MSBUILD для развертывания моих проектов в Интернете.

Проблема, которую я пытаюсь решить, - это запретить выполнение шага 3, если какой-либо изТест не пройден.Это возможно?

1 Ответ

2 голосов
/ 18 ноября 2011

Вы можете сделать это, используя Задача NUnit MsBuild Community , обработав выходной параметр "ExitCode" и затем выполнив MSBuild Ошибка Задача зависит от "ExitCode" или выполнить задачу / цели развертывания зависит отэто условие, так что это зависит от вас.

Ошибка задачи:

Останавливает сборку и регистрирует ошибку на основе оцененного условного оператора.Задача «Ошибка» позволяет проектам MSBuild выдавать сообщения об ошибках в регистраторы и останавливать выполнение сборки

<!-- Build -->
<Build .... />

<!-- Run tests -->
<Nunit ....>
   <Output TaskParameter="ExitCode" 
           PropertyName="NUnitResult" />

<!-- Stop build in case of error whilst tests run -->    
<Error Text="Tests failed"
       Code="$(NUnitResult)"
       Condition="'$(NUnitResult)' != '0'"/>

<!-- Deploy -->    
<Deploy Condition="'$(NUnitResult)' != '0'"/ ... />
...