Принудительная сборка рабочего процесса TFS2010 в FAIL вместо ЧАСТИЧНО УСПЕШНОЙ - PullRequest
9 голосов
/ 09 июня 2011

В настоящее время у меня есть настраиваемое действие рабочего процесса для запуска внешнего процесса, после того как решение успешно скомпилировано, которое возвращает ExitCode <> 0 в случае сбоя внешнего процесса. Как только я узнаю, что процесс завершился неудачно, я хочу установить состояние сборки на FAIL (как вы могли бы увидеть, если код не скомпилирован), поэтому я добавил действие SetBuildProperties, которое установит для свойства Status значение BuildStatus. .Failed, но это, кажется, приводит только к частичной успешной сборке, когда сборка завершена.

Я пытался установить статус компиляции сборки как сбой в моей пользовательской операции, что приводит к сборке с ошибкой, но я не хочу этого делать, так как это вводит в заблуждение, когда решение скомпилировано.

Может кто-нибудь сказать мне, как я могу заставить сборку терпеть неудачу ?? (желательно без необходимости устанавливать статус компиляции как неудачный!)

Спасибо

Ответы [ 2 ]

4 голосов
/ 09 июня 2011

То, что здесь произошло, заключается в том, что когда сборка завершается, менеджер рабочего процесса перезаписывает состояние сборки на значение, которое зависит от комбинации статусов процесса сборки.В вашем случае CompilationStatus имеет значение Succeeded, но есть пользовательский сбой активности (вы устанавливаете BuildStatus в значение Failed), поэтому общий статус будет равен PartiallySucceeded.Failed или Unknown, тогда статус сборки будет Failed.

Я не пробовал установить для CompilationStatus значение Unknown.Но если это можно сделать, вы можете позже вернуться и изменить его на «Пропущено».Просто способ отличить реальные неудачные сборки компиляции.

Не очень хороший обходной путь, я знаю: (

UPDATE : Использование действия SetBuildProperties для установки состояния сборки наСбой, и я не смог выполнить сборку, даже если компиляция прошла успешно.

1 голос
/ 06 октября 2014

В TFS 2013, используя настраиваемый шаблон сборки, вы можете просто установить статус сборки в Failed, оставив CompilationStatus и TestStatus его правильные значения.Вы должны сделать это после запуска теста, в противном случае он будет обновлен обратно.Используйте действие SetBuildProperties и установите свойство «Status».

...