65.9K
CodeProject 正在变化。 阅读更多。
Home

CruiseControl.NET 入门指南

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (7投票s)

2007 年 12 月 7 日

CPOL

2分钟阅读

viewsIcon

53534

展示了自动化构建 ASP.NET Visual Studio 2005 解决方案的最低限度步骤

引言

如你所知,CruiseControl.Net 是一个用于构建自动化的开源框架。虽然网上有数百篇关于这个主题的文章,但我未能找到一篇适合我作为初学者的文章。希望这篇文章能帮助像我一样想要体验使用 CruiseControl.Net、Visual Source Safe 和 Visual Studio 进行持续集成的过程的人们。

我打算展示自动化构建 ASP.NET Visual Studio 2005 解决方案所涉及的最低限度步骤。

必备组件

  • CruiseControl.Net
  • Visual Studio 2005 IDE
  • Visual SourceSafe

入门

使用 MSI 安装程序或简单地解压缩 zip 文件来安装 CC.net 的设置文件(我使用了后者)。你会发现四个文件夹,分别是 cctrayexamplesserverwebdashboard。编辑 server 中的 ccnet.config 文件,使其如下所示

<cruisecontrol>
<project name="MyProjectBuild" queue="Q1" queuePriority="1">
    <workingDirectory>c:\TestCC</workingDirectory>
    <artifactDirectory>c:\TestCC\Docs</artifactDirectory>
    <category>Category 1</category>
    <webURL>https:///ccnet</webURL>
    <modificationDelaySeconds>2</modificationDelaySeconds>
    <sourcecontrol type="vss" autoGetSource="true" applyLabel="true">
   	<executable>C:\Program Files\Microsoft Visual Studio\
				Common\VSS\win32\SS.EXE</executable>
   	<project>$/MyProject/Source</project>
   	<username>judy</username>
   	<password></password>
   	<ssdir>\\filesvr1\myproj</ssdir>
   	<workingDirectory>c:\TestCC</workingDirectory>   	
   	<cleanCopy>true</cleanCopy>
    </sourcecontrol>
    <tasks>
        <devenv>
	    <solutionfile>c:\TestCC\src\MySolution.sln</solutionfile>
	    <configuration>Debug</configuration>
	    <buildtype>Build</buildtype>	    
	    <executable>C:\Program Files\Microsoft Visual Studio 8\
				Common7\IDE\devenv.exe</executable>
	    <buildTimeoutSeconds>300</buildTimeoutSeconds>
	</devenv>
    </tasks>
    <publishers>
        <xmllogger logDir="c:\TestCC\buildlogs" />
    </publishers>
</project>
</cruisecontrol>

上面的 XML 显示我的 VSS 数据库在网络上的另一台机器上 \\filesvr1\myproj。我希望 CC.NET 从 VSS 位置 $/MyProject/Source 获取干净的源代码到我的本地文件夹 c:\testcc。指示 VS IDE 构建解决方案 c:\testcc\src\MySolution.sln

现在我准备运行服务器了。我需要做的就是从命令行发出以下命令

ccnet -project:MyProjectBuild 

这将立即集成项目 MyProjectBuild。详细输出可以在命令行本身看到。为了获得更好的视图,需要配置 Web 控制面板。这可以通过简单地创建一个指向 dashboard 文件夹的网站来完成。导航到默认页面将显示项目集成状态。请注意,ccnet.exe 服务器必须正在运行才能查看构建状态。

你还可以应用触发器来安排构建。这可以使用 <triggers> 标签轻松完成。

结论

你可以看到让 CruiseControl.Net 运行是多么容易。这篇文章只是描述了如何自动化构建。构建仍然没有准备好部署。这意味着我可能希望将构建放置在另一个文件夹中以供发布,而无需包含代码。这在文章 使用 CruiseControl.Net 和 MSBuild 自动化 ASP.NET Web 应用程序项目构建 中有介绍。

编程愉快!

© . All rights reserved.