我第一次尝试为 UCM Clearcase 配置 Cruisecontrol.net。以下是 ccnet.config 文件中的 sourceControl 标签:
<sourcecontrol type="clearCase">
<branch>123_India_Release</branch>
<autoGetSource>true</autoGetSource>
<viewName>admin_123_CRUISE</viewName>
<viewPath>$(ViewDirectory)</viewPath>
<useLabel>false</useLabel>
<useBaseline>false</useBaseline>
<executable>cleartool.exe</executable>
</sourcecontrol>
我经常收到以下错误:
ThoughtWorks.CruiseControl.Core.CruiseControlException:源代码控制操作失败:cleartool:错误:不是vob中的对象:“视图路径”
当我使用以下参数从任意目录运行 cleartool 时:
cleartool.exe lshist -r -nco -branch "123_India_Release" -since 05-Dec-2012.14:38:18 -fmt
我犯了同样的错误。但是,如果我在运行 cleartool 之前将工作目录更改为 $(ViewDirectory),它运行良好。
我应该如何让 Cruisecontrol.net 从 $(ViewDirectory) 运行 cleartool.exe?我之前已经尝试过添加<workingDirectory>$(ViewDirectory)</workingDirectory>
标签,<executable>cleartool.exe</executable>
但没有奏效。
任何帮助,将不胜感激。
编辑1:
作为一种解决方法,我做了以下事情:
<exec>
<executable>cleartool.exe</executable>
<baseDirectory>d:\Workspace\123_India_Release\VOB</baseDirectory>
<buildArgs>update -force</buildArgs>
<buildTimeoutSeconds>6000</buildTimeoutSeconds>
</exec>
我已将此添加到任务标签中。我已经配置了一个每小时触发器,它执行以下操作:
1) 更新快照视图
2)构建任务标签中提到的VS 2010解决方案。
限制是:
1) 触发器是每小时一次。我希望它是一个基于提交的触发器。
2)这是一种解决方法
编辑2:
进一步的实验表明ccnet.exe工作正常。它做了所有需要的事情。该问题是由服务ccservice引起的。
我暂时停止了ccservice并启动了 ccnet.exe。我打算让它继续运行。