Continuous integration CruiseControl中的本地解决方案文件路径-可以自动执行吗?

Continuous integration CruiseControl中的本地解决方案文件路径-可以自动执行吗?,continuous-integration,cruisecontrol.net,continuous-deployment,Continuous Integration,Cruisecontrol.net,Continuous Deployment,好的,我知道这不是一个编程问题。。但我相信这与提高程序员的生产率有关 我试图使用CruiseControl在我们的工作流程中实现持续集成。每个开发人员都有单独的机器进行开发。。使用一个集中式数据库服务器。我们主要与Visual Studio一起开发asp.net应用程序。我们在拥有db服务器的同一个系统上有一个集中式SVN服务器 现在我正在尝试集成巡航控制,但不确定什么是最好的方法。我尤其不能决定 在解决方案文件路径中,是否需要传递本地路径?所以,在这种情况下,我们应该在服务器上复制一份项目源代

好的,我知道这不是一个编程问题。。但我相信这与提高程序员的生产率有关

我试图使用CruiseControl在我们的工作流程中实现持续集成。每个开发人员都有单独的机器进行开发。。使用一个集中式数据库服务器。我们主要与Visual Studio一起开发asp.net应用程序。我们在拥有db服务器的同一个系统上有一个集中式SVN服务器

现在我正在尝试集成巡航控制,但不确定什么是最好的方法。我尤其不能决定

在解决方案文件路径中,是否需要传递本地路径?所以,在这种情况下,我们应该在服务器上复制一份项目源代码来执行吗?或者有没有更好的自动化方法来实现这一点?我们可以在解决方案文件路径中使用SVN URL吗


我确信一定有一种完全自动化的方法可以做到这一点,但是如何做到呢?

在项目构建节点中,您需要定义构建服务器的本地路径和SVN URL,以便CruiseControl可以从集中式SVN服务器获取代码。您可以使用NANT或MSBuild插件定义生成服务器的特定配置,以避免与服务器的错误配置。下面是需要在生成服务器中定义的ccnet.config文件的示例

<project name="Calculator-Service">
    <schedule type="schedule" sleepSeconds="15"/>
    <modificationDelaySeconds>2</modificationDelaySeconds>
    <sourcecontrol type="svn">
      <trunkUrl>svn://svn.mycompany.com/myfirstproject/trunk</trunkUrl>
      <workingDirectory>C:\ccnetexamples\eci\working\service</workingDirectory>
    </sourcecontrol>
    <build type="nant">
      <executable>C:\ccnetexamples\eci\working\service\tools\nant\nant.exe</executable>
      <baseDirectory>C:\ccnetexamples\eci\working\service</baseDirectory>
      <buildFile>nant.build</buildFile>
      <targetList>
        <target>ci</target>
      </targetList>
      <buildTimeoutSeconds>300</buildTimeoutSeconds>
    </build>
    <publishers>
      <xmllogger>
        <logDir>..\web-service\log</logDir>
      </xmllogger>
    </publishers>
</project>

2.
svn://svn.mycompany.com/myfirstproject/trunk
C:\ccnetexamples\eci\working\service
C:\ccnetexamples\eci\working\service\tools\nant\nant.exe
C:\ccnetexamples\eci\working\service
南特大厦
词
300
..\web服务\log
看看

有一个构建服务器场景的分步指南。
对于构建脚本和ccnet.config示例。

IMNO,考虑CC.NET的最佳方式是使用“超级奇特的msbuild.exe”执行器

编写一个msbuild(.proj)并将大部分逻辑放在其中

包括“从svn下拉代码并将其放置在此本地目录中”

然后,cc.net任务将下拉此.proj文件…然后使用msbuild.exe任务执行该.proj文件


由于您在cc.net专有任务中只有很少的逻辑,如果您选择另一个CI工具,这不是一个艰难的过渡。

工作目录应该放在哪里?我们想把它放到服务器上。。但我不知道该怎么做。如果我们在dev机器上执行此操作,它会工作得很好,但在服务器上,它不确定代码将如何在那里更新?您可以将其放置在构建服务器上的任何位置。例如,D:\Code\ProjectName,因此所有代码都位于父文件夹folderCC.net下,它有一个svn插件来侦听更改并触发生成。要更新工作副本的svn,可以使用Nant。在DB计算机上安装svn客户端,并使用Nant运行它。CC.net有一个nant插件。签出Nant上的文档和CC.net中的Nant目标。好的,这很有意义。我将尝试这个,并很快在这里更新。cc.net的其他好的开源替代方案是什么?人们使用Hudson。但是我喜欢CC.NET。它是用DotNet写的,所以我能真正理解它。