Только один проект из двух запущен в моем конфиге CruiseControl.net - PullRequest
1 голос
/ 31 октября 2008

Я впервые создаю сервер интеграции, и хотя в моем конфигурационном файле cruisecontrol есть два проекта, кажется, только первый из них выполняется. Мой конфигурационный файл вставлен ниже.

<cruisecontrol>

    <project name="cc-config">
        <triggers>
            <intervalTrigger seconds="60" />
        </triggers>
        <sourcecontrol type="svn">
            <trunkUrl></trunkUrl>
            <workingDirectory>C:\Program Files (x86)\CruiseControl.NET\server\config</workingDirectory>
        </sourcecontrol>
    </project>

    <project name="stable_trunk">
        <workingDirectoy>C:\working</workingDirectory>
        <artifactDirectory>C:\artifact</artifactDirectory>
        <triggers>
            <intervalTrigger name="continuous" seconds="60"/>
        </triggers>
        <sourcecontrol type="svn">
            <trunkUrl></trunkUrl>
            <workingDirectory>C:\projects\security\trunk</workingDirectory>
        </sourcecontrol>
        <tasks>
            <nant>
                <executable>C:\projects\security\trunk\tools\nant-0.86-nightly-2008-08-18\bin\nant.exe</executable>
                <buildFile>C:\projects\security\trunk\security.build</buildFile>
            </nant>
        </tasks>
        <externalLinks>
            <externalLink name="proj" url="projURL">
        </externalLinks>
    </project>

</cruisecontrol>

Кто-нибудь может мне помочь? Спасибо Картер

Дополнительная информация:

  • В файле журнала нет ошибок и нет упоминаний о втором проекте
  • В веб-интерфейсе отображается только первый проект

Как будто второго проекта даже не существует.

Проблема была в опечатке, и я пропустил ошибку в файле журнала. В теге WorkingDirectory отсутствовал последний 'r'.

Ответы [ 3 ]

2 голосов
/ 31 октября 2008
  1. Проверяли ли вы журналы сборки CCNet на предмет каких-либо аномалий? ( Изменить ответ: Да, и их не было. )

  2. При входе на веб-сервер CCNet второй проект отображается как допустимый проект? ( Редактировать ответ: Нет, это не так. )

  3. Если это так, можете ли вы создать на нем силу? ( Редактировать ответ: Нет, потому что он не отображается. )

Таким образом, из-за этих ответов, мое следующее предложение состояло бы в том, чтобы запустить ваш сервер cc из командной строки (а не через службу), просто чтобы увидеть, появляются ли какие-либо сообщения.

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

Что вы можете попробовать, это пойти по простому маршруту и ​​просто добавить 3-й, пустой проект и посмотреть, сможете ли вы заставить / that / отображаться в вашем списке. Кроме того, вы можете попробовать вставить преднамеренную опечатку, которая, как вы знаете, приведет к сбою, и посмотреть, сможете ли вы ее обнаружить. Меня беспокоит то, что вы, возможно, редактируете неправильный файл конфигурации, или CCNet фактически не видит изменений, которые вы вносите в него (проблема синхронизации управления исходным кодом?).

0 голосов
/ 03 ноября 2008

Вы дошли до сути этого?

Если нет, взгляните на свои файлы журналов (?: \ Program Files \ CruiseControl.NET \ server \ ccnet.log).

Я бы порекомендовал использовать консольное приложение (ccnet.ext), а не сервис на этом этапе - вы можете увидеть, что происходит немного проще. Кроме того, перед запуском консоли убедитесь, что она настроена на ведение журнала отладки. Для этого откройте файл ccnet.exe.config, найдите тег log4net и установите значение уровня = "DEBUG" это root .

Запустите консоль и дайте ей поработать несколько минут, затем остановите ее и посмотрите журналы (опубликуйте их здесь, если у вас все еще есть проблемы).

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

0 голосов
/ 01 ноября 2008

Интервальные триггеры имеют значение по умолчанию buildCondition из IfModificationExists , что означает, что сборка будет начата, только если в вашем * 1007 была обнаружена модификация * Блок управления источником .

из документов ccnet по атрибуту buildCondition

Условие, которое следует использовать для запуска интеграции. По умолчанию это значение IfModificationExists, означающее, что интеграция будет запускаться только в случае обнаружения изменений. Установите для этого атрибута значение ForceBuild, чтобы гарантировать, что сборка должна запускаться независимо от того, обнаружены ли новые изменения. Используйте блоки управления исходным кодом, чтобы указать, что нужно отслеживать для изменений.

Следовательно, если кто-то хочет, чтобы сборка с всегда была начата, независимо от того, произошли ли изменения в управлении исходным кодом, тогда для * 1021 необходимо указать ForceBuild Атрибут * buildCondition . Например:

<triggers>
    <intervalTrigger name="continuous" buildCondition="ForceBuild" seconds="60"/>
</triggers>
...