好的,我知道这不是编程问题..但我确信它与提高程序员的工作效率有关。
我正在尝试使用CruiseControl http://cruisecontrol.sourceforge.net/在我们的工作流程中实现持续集成。每个开发人员都有一台独立的机器,可以通过一台集中式数据库服我们主要使用Visual Studio来开发asp.net应用程序。我们在同一系统上有一个集中式SVN服务器,我们有db服务器。
现在我正在尝试整合Cruise Control,但不确定什么是最佳方式。我特别无法决定......
在解决方案文件路径中,我们是否需要传递本地路径?那么,在这种情况下,我们应该在服务器上复制一份项目源代码来执行吗?或者有没有更好的自动化方法来实现这一目标?我们可以在解决方案文件路径中使用SVN URL吗?
我确信必须有一种完全自动化的方法,但是如何?
答案 0 :(得分:1)
在项目构建节点中,您需要定义构建服务器和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>
答案 1 :(得分:0)
Build Server Scenarios有一个分步指南。 使用构建脚本和ccnet.config示例。
答案 2 :(得分:0)
编写一个msbuild(.proj)并将大部分逻辑放入其中。
包括&#34;从svn下拉代码并将其放在此本地目录中#34;
然后你cc.net任务将下拉这个.proj文件....然后使用msbuild.exe任务来执行.proj文件。
由于cc.net专有任务中只有非常少量的逻辑,如果你选择另一个CI工具,它不是一个艰难的过渡。