Как отображать сообщения об ошибках сборки в TeamCity при использовании сценариев сборки пирога

Имея конвейер CI, который использует сценарии развертывания и сборки Teamcity и Octopus, написанные с помощью Cake, я хочу иметь возможность отображать сообщения об ошибках, сгенерированные сценарием сборки.

Теперь отображается сообщение:

 Exit code 1 (new)

введите описание изображения здесь Чтобы увидеть настоящее сообщение об ошибке, необходимо просмотреть журнал сборки и проанализировать его.

Итак, даже при использовании сценария сборки я хочу иметь возможность отображать результаты сборки на странице обзора и список ошибок, как показано на следующем рисунке: введите изображение  описание здесь Я знаю, что Cake поддерживает интеграцию с TeamCity, но документация и примеры не так просты.

Может ли кто-нибудь предоставить полезную информацию по этому вопросу?


person MariaMadalina    schedule 11.08.2016    source источник
comment
Если мы можем что-то сделать для улучшения документации, мы будем рады услышать ваши отзывы.   -  person Gary Ewan Park    schedule 11.08.2016
comment
Увидев другие варианты использования, я понял, что проблема заключалась не в интеграции с TeamCity, а в том, что задача MSBuild завершается с ошибкой, не сообщая о соответствующем сообщении (почему она не выполняет задачу). Итак, моя проблема заключается в том, что я не могу собрать информацию о сборке и выполнить задачу сборки с этим сообщением.   -  person MariaMadalina    schedule 13.08.2016


Ответы (1)


Cake реализует метод, позволяющий написать задачу сборки

TeamCityProvider​.BuildProblem(string, ​string)

Глядя на исходный код для этого провайдера, я могу определить, что это создаст строку для вывода, которая соответствует взаимодействию скрипта сборки, указанному в документация TeamCity, в частности сообщающая о проблеме сборки

##teamcity[buildProblem description='<description>' identity='<identity>']

вызвав BuildProblem("Some message", "Some identity") это выведет

##teamcity[buildProblem description='Some Message' identity='Some identity']

Затем TeamCity должен завершить сборку и отобразить сообщение в соответствии с документацией;

Для сбоя сборки непосредственно из сценария сборки сообщается о проблеме сборки. Проблемы со сборкой отображаются на странице результатов сборки, а также влияют на текст состояния сборки.

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

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

введите здесь описание изображения

Затем это покажет само сообщение в результатах сборки на странице обзора.

введите здесь описание изображения

Надеюсь это поможет

person Evolve Software Ltd    schedule 11.08.2016
comment
В моей ситуации сборка командного города не удалась, она отображает ошибки в виде сводки информации в журнале сборки, а не на странице результатов обзора. - person MariaMadalina; 12.08.2016
comment
Если вы используете сценарии сборки, написанные на торте, вам нужно перехватить исключение, а затем вызвать этот метод, передав сообщение об исключении. У вас есть доступ для редактирования скриптов сборки торта? Вам нужна помощь в этом? - person Evolve Software Ltd; 12.08.2016
comment
Да, ты прав. Я смог увидеть предостережение в сообщении торта об ошибках для упорства, но тот факт, что задача сборки не выполняется с этой ошибкой. Итак, проблема в том, что я должен проанализировать журнал сборки и сообщить об ошибке в среду сборки. Я отметил это в своем комментарии к моему вопросу. - person MariaMadalina; 14.08.2016