如何配置CruiseControl项目以从sourcesafe获取多个项目

时间:2010-01-15 14:21:40

标签: visual-studio-2008 cruisecontrol.net visual-sourcesafe

我需要在巡航控制中配置我的项目,这样当它从SourceSafe获取源代码时,它还从SourceSafe获取另一个项目的代码。这可能吗?

我需要这个,因为我正在尝试配置巡航控制以构建包含来自不同SourceSafe位置的多个项目的解决方案。我只能指定一个项目来从sourcesafe“获取”,所以当cruisecontrol构建解决方案时我得到msbuild失败。

干杯

科幻

2 个答案:

答案 0 :(得分:3)

您需要在CruiseControl中使用该标记。

我没有使用SSafe,但这是我从Seapine的Surround中提取多个项目的一个例子:

<sourcecontrol type="multi">
            <sourceControls>
                <surround>
                    <executable>d:\program Files\Seapine\Surround SCM\sscm.exe</executable>
                    <serverlogin>user:pw</serverlogin>
                    <branch>WindowsApps</branch>
                    <repository>WindowsApps/Project1</repository>
                    <workingDirectory>d:\AutomatedBuilds\Project1</workingDirectory>
                    <recursive>1</recursive>
                </surround>
                <surround>
                    <executable>d:\program Files\Seapine\Surround SCM\sscm.exe</executable>
                    <serverconnect>10.1.1.42:4900</serverconnect>
                    <serverlogin> >user:pw </serverlogin>
                    <branch>WindowsApps</branch>
                    <repository>WindowsApps/Project2</repository>
                    <workingDirectory>d:\AUtomatedBuilds\Project2</workingDirectory>
                    <recursive>1</recursive>
                </surround>
                <surround>
                    <executable>d:\program Files\Seapine\Surround SCM\sscm.exe</executable>
                    <serverconnect>10.1.1.42:4900</serverconnect>
                    <serverlogin> >user:pw </serverlogin>
                    <branch>WindowsApps</branch>
                    <repository>WindowsApps/Project3</repository>
                    <workingDirectory>d:\AutomatedBuilds\Project3</workingDirectory>
                    <recursive>1</recursive>
                </surround>

答案 1 :(得分:0)

我们面临着完全相同的问题。

作为taylonr pointed out,可以从源代码控制中监视多个子树。但是您需要将源控件中存储库位置的信息放入CCNET配置中。

您可以解析解决方案文件,解压缩文件路径并生成配置文件。但即使这样,你也会遇到新的问题:

  1. 如果解决方案文件包含相对路径,则需要将这些路径转换为绝对路径。
  2. 解决方案文件中的路径信息引用本地目录和文件。您需要将其映射回源代码管理中的存储库结构。
  3. 由于这个原因,我们决定放弃解决方案支持。每个CCNET项目都指VS项目。 VS项目中的每个文件都需要放在项目的目录/存储库子树中。 CCNET可以很容易地监视这棵树。