所以我为我的 PHP 项目设置了以下内容:
- 包含所有代码的 Git 存储库。
- 一个带有 PhpUnderControl 在其上运行的 Cruisecontrol 实例。
我在 Cruisecontrol 项目目录中创建了一个新项目,并设置了一个轮询器以每 2 分钟检查一次 git repo 上的更改。我在这个 Cruisecontrol 实例中运行了 2 个项目,我设置的第一个项目运行良好。
我在 Platform 项目中遇到的问题在错误日志中如下所示:
2010-02-04 06:07:27,076 [Thread-14061] INFO 项目 - 项目平台:引导 2010-02-04 06:07:27,077 [Thread-14061] INFO ProjectController - 平台控制器:构建进度事件:引导 2010-02-04 06:07:27,496 [Thread-14061] 信息 GitBootstrapper - 已经是最新的。 2010-02-04 06:07:27,500 [Thread-14061] INFO 项目-项目平台:检查修改 2010-02-04 06:07:27,500 [Thread-14061] INFO ProjectController - 平台控制器:构建进度事件:检查修改 2010-02-04 06:07:27,583 [Thread-14063] WARN Git - 警告:“”的日志只能返回到 2010 年 1 月 26 日星期二 13:43:11 -0500。 2010-02-04 06:07:27,584 [Thread-14063] 警告 Git - 致命:无效的修订范围 @{ 1264038932}..@{ 1265281647} 2010-02-04 06:07:27,584 [Thread-14061] INFO 项目 - 项目平台:未发现修改,无需构建。 2010-02-04 06:07:27,584 [Thread-14061] INFO 项目-项目平台:空闲 2010-02-04 06:07:27,584 [Thread-14061] INFO ProjectController-平台控制器:构建进度事件:空闲
这里奇怪的是,当我检查项目目录时,代码库会更新。(我在我的工作目录中测试了一些小提交。)问题是,自从 Git 出错以来,这从未运行任何其他构建过程。
如果我直接进入projects/platform
目录并执行 git pull,它工作正常。从项目目录进行 ant 构建也可以正常工作。
以下是相关的配置文件:
<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 错误的搜索并没有给我任何好的见解,所以希望这里有人知道!