Сообщение о неудачной задаче в CruiseControl.NET - PullRequest
1 голос
/ 09 февраля 2010

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

На данный момент у меня три задачи:

  • SourceControl
  • MSBuild
  • Модульные тесты (с использованием gallio.echo из задачи exec CC.Net)

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

Вот лучшее, что делает CruiseControl - на главной странице панели инструментов:

msbuild fail http://img38.imageshack.us/img38/1018/msbuildfail.png альтернативный текст http://img25.imageshack.us/img25/4688/galliofail.png

Теперь этого недостаточно:

  1. Сбойная задача не отображается при нажатии на проект или отчет о сборке для этой сборки.

  2. Эта информация вообще недоступна в файле журнала. Это означает, что я не могу получить его по электронной почте, взломав XSL.

  3. Так как моя задача сборки будет единственной задачей MSBuild, вполне нормально, чтобы она называлась MSBuildTask. Это не относится к исполняемым задачам, так как у меня будет по крайней мере еще одна или две, которые могут потерпеть неудачу. Мне нужно дать им описательные имена. Моя задача Gallio exec имеет узел описания, но я не уверен, где он используется.

    <exec><br> <description>Unit Tests</description><br> <executable>$(path.gallio)</executable><br> </exec>

Ответы [ 3 ]

3 голосов
/ 22 февраля 2010

Я один из разработчиков ccnet. проблема была зарегистрирована. http://jira.public.thoughtworks.org/browse/CCNET-1825

1 голос
/ 18 февраля 2010

Не элегантное решение, но вы можете использовать атрибут OnError на цели для записи чего-либо, даже если оно должно быть несколько статичным. Другой вариант заключается в регистрации каждого успешного шага и последующем использовании XSL last () для получения последнего успешного шага. Это отстой, но это, по крайней мере, больше, чем вы имели раньше.

0 голосов
/ 09 февраля 2010

Мне кажется, что вы не объединяете вывод задач MSBuild и Gallio. Я не помню правильный синтаксис в верхней части моей головы (и веб-сайт CruiseControl.NET, кажется, не работает), но если вы опубликуете ваш файл конфигурации, я мог бы вам помочь.

...