巡航控制和水星版本控制。设置问题

3

我完全是一个持续集成的新手,但我正在努力学习。

这是我的设置。

我有一个主要的生产位置。计算机A。 我有一个虚拟机,托管Windows Server 2008操作系统,安装并运行了Cruise Control.NET。计算机B 我使用Mercurial作为我的源代码控制工具,安装在计算机A上。

一切都配置好了,我可以在计算机B的Web服务器上看到Cruise Control报告,并且我可以在计算机A的Web服务器上看到我的存储库。

问题如下:

从我的计算机B的Cruise Control控制台中,我遇到了以下错误:

源代码控制失败: 无法执行文件[c:\ develop \ CCnet \ WorkingDir \ hg]。该文件可能不存在或不可执行。 找不到文件'C:\ develop \ CCnet \ CCnetrtifacts \ msbuils-results.xml。

我所做的是将我的项目目录复制到Cruise Control计算机c:\ develop \ CCnet \ WorkingDir \

这是我的ccnet.config中包含的源代码控制块:

<sourcecontrol type="hg">
<repo>http://mylocalmachinewebserver<repo>
<workingDirectory>c:\develop\CCnet\WorkingDirectory<workingDirectory>
</sourcecontrol>

有人能帮我理解我的问题吗?

非常感谢。


Mercurial 是否真的安装在您的工作目录中?这对我来说似乎很奇怪。我会从那里运行类似于 .\hg status 的命令,看看是否有任何输出,而不是“未找到 cmd”等等... - Tom Willis
我的生产环境和持续集成服务器上都没有安装Mercurial。 - Bernard Larouche
1个回答

3

您的路径中是否包含mercurial?Cruise Control运行的用户可能与您正常使用的用户具有不同的路径。在cruisecontrol配置中提供完整的hg路径是否可行?


完整路径是什么?我在配置文件中包含的路径是存储库所在的Web服务器地址。是否有特定的路径必须存在特定的文件? - Bernard Larouche
可执行文件的完整路径。'hg'是您的巡航控制运行计算机上的一个程序,它位于一个文件夹中,其完整路径取决于您安装它的位置。类似于“C:\Program Files\some\thing\hg.exe”我想。CruiseControl无法找到它,可能是由于CC用户的%PATH%设置。您考虑过使用Hudson吗?它比CC好得多。 - Ry4an Brase
还有一个<executable>元素,您可以在<sourcecontrol>中使用它来指向您的hg.exe路径。 - Rodrigue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接