Таким образом, я настроил следующее для своего проекта PHP:
Я создал новый проект в cruisecontrol каталоге проекта и настроил poller для проверки изменений на мерзавце repo каждые 2 минуты. У меня есть 2 проекта, работающие в этом экземпляре Cruisecontrol, и первый, который я настроил, работает просто великолепно.
Проблема, которую я имею с проектом Платформы, похожа на это в журналах ошибок:
2010-02-04 06:07:27,076 [Thread-14061] INFO Project - Project platform: bootstrapping 2010-02-04 06:07:27,077 [Thread-14061] INFO ProjectController - platform Controller: build progress event: bootstrapping 2010-02-04 06:07:27,496 [Thread-14061] INFO GitBootstrapper - Already up-to-date. 2010-02-04 06:07:27,500 [Thread-14061] INFO Project - Project platform: checking for modifications 2010-02-04 06:07:27,500 [Thread-14061] INFO ProjectController - platform Controller: build progress event: checking for modifications 2010-02-04 06:07:27,583 [Thread-14063] WARN Git - warning: Log for '' only goes back to Tue, 26 Jan 2010 13:43:11 -0500. 2010-02-04 06:07:27,584 [Thread-14063] WARN Git - fatal: Invalid revision range @{ 1264038932}..@{ 1265281647} 2010-02-04 06:07:27,584 [Thread-14061] INFO Project - Project platform: No modifications found, build not necessary. 2010-02-04 06:07:27,584 [Thread-14061] INFO Project - Project platform: idle 2010-02-04 06:07:27,584 [Thread-14061] INFO ProjectController - platform Controller: build progress event: idle
Странная вещь здесь состоит в том, что, когда я проверяю каталог проекта, кодовая база обновляется. (Я протестировал с несколькими маленькими фиксациями в моем рабочем каталоге.) Проблема состоит в том, что это никогда не выполняет ни одного из других процессов сборки начиная с ошибок Мерзавца.
Если я перехожу в projects/platform
каталог непосредственно и делает получение по запросу мерзавца, он хорошо работает. Выполнение сборки муравья от каталога проекта также работает просто великолепно.
Вот соответствующие файлы конфигурации:
<project name="platform" buildafterfailed="false">
<plugin name="git" classname="net.sourceforge.cruisecontrol.sourcecontrols.Git" />
<modificationset quietperiod="60">
<git localWorkingCopy="projects/${project.name}/" />
</modificationset>
<bootstrappers>
<gitbootstrapper localWorkingCopy="projects/${project.name}/" />
</bootstrappers>
<schedule interval="120">
<ant antscript="/usr/bin/ant" buildfile="projects/${project.name}/build.xml" />
</schedule>
<listeners>
<currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
</listeners>
<log dir="logs/${project.name}">
<merge dir="projects/${project.name}/build/logs/" />
</log>
<publishers>
<artifactspublisher dir="projects/${project.name}/build/api"
dest="artifacts/${project.name}"
subdirectory="api"/>
<artifactspublisher dir="projects/${project.name}/build/coverage"
dest="artifacts/${project.name}"
subdirectory="coverage"/>
<execute command="phpuc graph logs/${project.name} artifacts/${project.name}"/>
<execute command="phpcb
--log projects/${project.name}/build/logs
--source projects/${project.name}/lib/model
--ouput projects/${project.name}/build/php-code-browser" />
<artifactspublisher dir="projects/${project.name}/build/php-code-browser"
dest="artifacts/${project.name}"
subdirectory="php-code-browser" />
</publishers>
</project>
Мои поиски на ошибке мерзавца не дали мне хорошего понимания, так надо надеяться, кто-то здесь знает!
Похоже, для git не задана ветка для проверки. Я не знаю, как это исправить прямо сейчас, но, возможно, это правильное направление.