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