开发者

How to configure a CruiseControl project to get multiple projects from sourcesafe

I need to configure my project in cruise-control so that when it gets the source code from SourceSafe, it also gets the code for another project from SourceSafe. Is this possible?

I need this because I am trying to configure cruise control to build a solution which contains mu开发者_运维技巧ltiple projects from different SourceSafe locations. I can only specify one project to 'get' from sourcesafe and so I am getting an msbuild failure when cruisecontrol builds the solution.

Cheers

SciFi


You need to use the tag in CruiseControl.

I'm not using SSafe, but here's an example of me pulling multiple projects from Seapine's 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>


We're facing exactly the same problem.

As taylonr pointed out it is possible to monitor multiple subtrees from source control. But you need to put the information on the repository locations in source control into CCNET configuration.

You might parse the solution file, extract the file paths, and generate the configuration file. But even then you would encounter new problems:

  1. If the solution file contains relative paths, you would need to transform these into absolute paths.
  2. The path information in the solution file references local directories and files. You would need to map this back to the repository structure in source control.

For this very reason we decided to drop solution support. Each CCNET project refers to a VS project. Each file inside a VS project needs to be put inside the project's directory/repository subtree. This tree can easily be monitored by CCNET then.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜