1

我第一次尝试为 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。我打算让它继续运行。

4

1 回答 1

0

View 目录是不够的:您必须指定一个 vob。

参见例如:

路径应如下所示:

<viewPath>Drive:\path\to\view\vobname</viewPath>

如果您$(ViewDirectory)已经引用Drive:\path\to\view,那么您可以使用:

<viewPath>$(ViewDirectory)\vobname</viewPath>
于 2012-12-05T09:38:35.820 回答