CCNET сообщает о сбое сборки без объяснения причин

Мы используем CCNET 1.4.4.83 на Win 2003 SP2. Несколько дней назад CCNET начал сообщать об ошибках сборки без какой-либо конкретной причины. Проект содержит одну exec задачу, которая запускает build.bat. Пакет выполняет всю работу (сценарии msbuild, fxcop, db, тесты), но в журнале сервера я вижу, что не все команды были выполнены из build.bat. Похоже, что что-то убивает процесс посередине, но я уверен, что это не проблема тайм-аута. Пробовал отключить антивирус - не повезло. Служба работает под учетной записью локального администратора. Если я запускаю build.bat вручную на машине CCNET, это всегда удается.

Вот фрагмент журнала:

2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat]     60 Warning(s)
2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat]     0 Error(s)
2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat] 
2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat] Time Elapsed 00:00:23.73
2009-11-10 11:26:48,724 [trunk:INFO] Task execution failed
2009-11-10 11:26:48,724 [trunk:INFO] Task output: 
<buildresults>
 -- the batch output here--
</buildresults>

2009-11-10 11:26:48,803 [trunk:INFO] Merging file: c:\integration\trunk\Artifacts\Tests1.xml
2009-11-10 11:26:48,803 [trunk:INFO] Merging file: c:\integration\trunk\Artifacts\FxCop.xml
2009-11-10 11:26:48,803 [trunk:WARN] File not Found: c:\integration\trunk\Artifacts\FxCop.xml
2009-11-10 11:26:49,428 [trunk:INFO] Emailing "trunk Build Failed" to ....
2009-11-10 11:26:55,506 [trunk:INFO] Integration complete: Failure - 10/11/2009 11:26:48

Любые идеи о том, где посмотреть, будут оценены !!


person UserControl    schedule 10.11.2009    source источник


Ответы (2)


Очень сложно отследить подобные проблемы, когда весь процесс сборки выполняется с помощью одной такой задачи CCNET. Возможно, это не вариант, но я бы рекомендовал разделить процесс сборки из одного файла .bat и создать отдельные задачи CCNET - это значительно упростит просмотр того, что происходит, когда что-то начинает вести себя странно.

например отдельные задачи для:

  • msbuild
  • fxcop
  • dbscripts
  • тесты

Если проблема где-то в тестах, это скоро станет очевидным, так как задача тестов не удалась, а остальные 3 были выполнены.

Помимо этого, я бы предложил попытаться регистрировать информацию об отладке / прогрессе по пути - попытаться найти точку, в которой это действительно не удается, и перейти оттуда.

person AdaTheDev    schedule 10.11.2009
comment
Хорошая идея, я попробую, если не найду другого решения. Некоторое время назад я обнаружил, что сценарии оболочки намного проще, чем настройка конфигурации ccnet. Журнал настроен на DEBUG, но для меня в нем нет ничего полезного. - person UserControl; 10.11.2009
comment
Я знаю, что вы имеете в виду, хотя, если вы привыкли настраивать конфигурацию ccnet, это не так уж и плохо. Я считаю, что гранулярность небольших задач CCNET того стоит. - person AdaTheDev; 10.11.2009
comment
Потратил почти весь день и в итоге нашел свое решение :( - person UserControl; 10.11.2009

Попробуйте запустить консольную версию CCNET и включите ведение журнала DEBUG.

  • Если и это удастся, значит в вашем сценарии сборки есть что-то, что службе не разрешено делать.
  • В противном случае это должно, по крайней мере, облегчить диагностику проблемы.
person GraemeF    schedule 10.11.2009
comment
Спасибо за идею! Пробовал, и консольная версия отлично строит проект. Но я не могу себе представить, что незаконно с точки зрения обслуживания. Единственные команды в пакете: msbuild.exe, svn.exe, nunit-console.exe, fxcopcmd.exe плюс несколько обращений к другим пакетам (пытался прокомментировать их, чтобы локализовать проблему, но не повезло). И последние изменения, которые я внес в партию, были за неделю до возникновения проблемы. - person UserControl; 10.11.2009