2010-06-18 4 views
3

Я чувствую себя действительно глупо. У меня есть setup cruisecontrol.net для наших сборок. И он отлично работает, если я запускаю его из командной строки: ccnet.exe -p = TestLibCruiseControl.net build не срабатывает

Однако, если я запускаю CCNET в качестве сервера или запускаю его из start/programs, он ничего не делает. Я ожидал бы, что следующий скрипт будет строиться каждые 10 минут .....

Что я делаю неправильно ???

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 
<!-- This is your CruiseControl.NET Server Configuration file. Add your projects below! --> 

<project name="TestLib"> 
    <triggers> 
     <intervalTrigger seconds="600" buildCondition="ForceBuild"/> 
    </triggers> 

    <sourcecontrol type="svn" autoGetSource="true"> 
     <trunkUrl>xxxx://xxxxxxxxxxx/svn/testlib/trunk</trunkUrl> 
     <workingDirectory>c:\Projects\TestLib</workingDirectory> 
     <executable>C:\Program Files\Subversion\bin\svn.exe</executable> 
     <username>xxxxxxx</username> 
     <password>xxxxxxx</password> 
    <timeout units="minutes">5</timeout> 
    </sourcecontrol> 

    <tasks> 
     <msbuild> 
      <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> 
      <workingDirectory>c:\Projects\TestLib</workingDirectory> 
      <projectFile>TestLib.sln</projectFile> 
      <buildArgs>/noconsolelogger /p:Configuration=Release;Platform=x86 /v:diag</buildArgs> 
      <targets>Clean,Build</targets> 
      <timeout>600</timeout> 
      <logger>ThoughtWorks.CruiseControl.MsBuild.XmlLogger,C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
     </msbuild> 

     <exec> 
      <executable>copyfiles_testlib.bat</executable> 
      <baseDirectory>C:\Projects</baseDirectory> 
      <buildArgs></buildArgs> 
      <buildTimeoutSeconds>60</buildTimeoutSeconds> 
     </exec> 
    </tasks> 

    <publishers> 
     <statistics /> 
     <xmllogger /> 
    </publishers> 
</project> 

+2

Я бы рекомендовал включить отладку (он откроет консольное окно, даже как сервис) и увеличит уровень журнала. Пока вы на нем, вы хотите отключить '/ noconsolelogger', чтобы вы могли видеть, что он делает. И не забудьте установить службу CruiseControl для работы в качестве фактического пользователя (с сохраненными учетными данными), поскольку системная служба по умолчанию не будет иметь доступ к сети иначе. –

+0

Вы проверили, что CC фактически запущен, когда вы запускаете его как услугу или из меню «Пуск»? – taylonr

+0

Я удалил noconsolelogger. Когда я начинаю с startmenu, я получаю консоль, в которой говорится: [CCNet Server: INFO] Запуск CruiseControl.NET Server [CCNet Server: INFO] Инициализация безопасности [CCNet Server: INFO] Стартовые расширения Кажется, работает нормально. Однако он только начинается, когда я говорю: ccnet.exe -p = TestLib, а не когда я запускаю ccnet.exe без аргументов. – Enrico

ответ

2

Вы уверены, что он не работает? Потому что, если вы посмотрите на документы для -p param, то это говорит:

«Иногда полезно использовать отладку конкретного проекта. Если вы используете этот параметр, CruiseControl.NET запустит только указанный проект, принудительно построит его , затем выключите сервер. "

Итак ... если вы не используете параметр, он будет ждать 10 минут до того, как он построит проект, так как это интервал, который вы установили.

Предполагаю, вы имеете в виду, что вы управляете им как услугой?

  1. Уверены, что обслуживание выполнено? Проверьте панель управления услугами. Установлено ли оно автоматически и работает? Проверьте файл журнала. Вы выполнили следующие шаги: http://confluence.public.thoughtworks.org/display/CCNET/The+Server+Service+Application, чтобы настроить службу?

  2. У вас есть учетные данные для доступа к вашей рабочей папке и папке артефакта. Служба должна работать как пользователь с учетными данными для доступа к этим папкам.

  3. Если вы уверены, что он работает, вы посмотрели на приборную панель? Показывает ли он проект?

Это поможет, если вы можете удалить все файлы .log ... запустите службу, затем посмотрите на журнал. Отправьте его здесь, если вы все еще не уверены, что происходит не так.

2

Я был точно такой же вопрос, как Энрико:

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

Когда я дважды нажимаю на значок CCNET на рабочем столе (размещенный там во время установки), процесс сборки, похоже, начинается, а затем резко останавливается без видимых причин.

CruiseControl.NET Server 1.5.7256.1 -- .NET Continuous Integration Server 
Copyright c 2003 - 2010 ThoughtWorks Inc. All Rights Reserved. 
.NET Runtime Version: 2.0.50727.3053 Image Runtime Version: v2.0.50727 
OS Version: Microsoft Windows NT 5.1.2600 Service Pack 3  Server locale: en-CA 

[1:DEBUG] The trace level is currently set to debug. This will cause CCNet to log at the most verbose level, which is u 
seful for setting up or debugging the server. Once your server is running smoothly, we recommend changing this setting 
in C:\Program Files\CruiseControl.NET\server\ccnet.exe.Config to a lower level. 
[1:DEBUG] [FileChangedWatcher] Add config file 'ccnet.config' to file change watcher collection. 
[CCNet Server:INFO] Reading configuration file "C:\Program Files\CruiseControl.NET\server\ccnet.config" 
[CCNet Server:DEBUG] [FileChangedWatcher] Add config file 'C:\Program Files\CruiseControl.NET\server\ccnet.config' to fi 
le change watcher collection. 
[CCNet Server:WARN] Configuration does not have any version information - assuming the configuration is for version 1.5 
[CCNet Server:INFO] Log cache time set to 5 minutes 
[CCNet Server:INFO] Registered channel: tcp 
[CCNet Server:INFO] CruiseManager: Listening on url: tcp://192.168.1.52:21234/CruiseManager.rem 
[CCNet Server:INFO] Registered channel: tcp 
[CCNet Server:INFO] CruiseServerClient: Listening on url: tcp://192.168.1.52:21234/CruiseServerClient.rem 
[CCNet Server:INFO] Starting CruiseControl.NET Server 
[CCNet Server:INFO] Initialising security 
[CCNet Server:INFO] Starting extensions 
+0

Я до сих пор не решил проблему. Держите меня в курсе! – Enrico

+0

Вы проверили совет PilotBob? Работает ли служба ccnet с учетной записью, которая имеет достаточно прав? –

+0

Это не работает как сервис. Я запускаю файл ccnet.exe из командной строки в моей учетной записи (local admin). – kdmurray

5

Вход в веб-администратора центральной для CCNET как -

http://localhost/ccnet/ViewFarmReport.aspx

Убедитесь, что для строки, содержащей ваш конкретный проект последнего столбца Администратор имеет кнопку с названием - Stop.

Если он показывает «Старт», вместо этого вам нужно щелкнуть по нему, чтобы проект был рассмотрен для создания, и нажатие кнопки «Пуск» также переключит его на «Стоп».

В основном этот шаг называется началом интегратора для проекта.

Abhy N

0

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

Эти исключения также можно просмотреть, если вы видите командную строку сервера CC.NET.

В моем случае я увидел исключение из-за каталога, который был удален из SVN, но сервер все еще хотел вытащить его на диск.

Смежные вопросы