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

使用 SVN、MSBuild、Cruise Control 自动化构建

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (7投票s)

2010年4月3日

CPOL

1分钟阅读

viewsIcon

83088

本教程解释如何借助 SVN、MSBuild 和 Cruise Control 自动化构建。

引言

本文将解释如何使用 SVN、MSBuild、Cruise Control 和 CCtray 自动化构建过程。

msbuild.xml

msbuild 文档用于构建 .NET 解决方案文件。以下是 msbuild 文档的快照。

它以 Project 标签开始,并且我们必须导入安装在本地系统上的 msbuild 路径。

存在 Target 标签(可以有一个或多个),我们可以给它们任意命名。编译器将搜索 Build 标签并从该标签开始。在此之前,它将遍历 DependsOnTarget 中指定的标签。

1.JPG

msbuild.xml 代码片段

以下是图像中显示的用于复制到应用程序中的代码片段。

<Project DefaultTargets="Build" 
	xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
    <Import Project=
      "C:\Program Files\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>

    <Target Name="GetSource">
            <Message Text="Checking out trunk into $(SourceDirectory)" />
            <SvnCheckout RepositoryPath="PATH TO SVN" 
                LocalPath="LOCAL PATH TO FOLDER"
                UserName="USERNAME OF SVN"
                Password="PASSWORD OF SVN">
                <Output TaskParameter="Revision" PropertyName="Revision" />
            </SvnCheckout>
            <Message Text="Have got revision: $(Revision)"/>
        </Target>

    <Target Name="Build" DependsOnTargets="GetSource;Clean;" />
    
    <Target Name="Clean">
        <!-- Clean, then rebuild entire solution -->
        <MSBuild Projects="D:\Projects\SOLUTIONFILENAME.sln" Targets="Clean;Rebuild" /> 
    </Target>

</Project>

配置 Cruise Control

现在转到“C:\Program Files\CruiseControl.NET\server”并打开“ ccnet.config”。

2.JPG

<cruisecontrol>
<project name="YOURPROJECTNAME">
         <webURL>http://SERVERIPADDRESS/ccnet/</webURL>

        <triggers>
            <intervalTrigger seconds="14400" buildCondition="ForceBuild" />
        </triggers>

        <tasks>
            <msbuild>
                <executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
		</executable>
                <workingDirectory>PATH OF WORKING DIRECTORY</workingDirectory>        
                                <buildArgs>MSBUILDFILENAME.msbuild 
				/p:Configuration=Debug</buildArgs>
                <timeout>1800</timeout>
                <!--  30 minutes -->
                <logger>C:\Program Files\CruiseControl.NET\server\
			ThoughtWorks.CruiseControl.MSBuild.dll</logger>
            </msbuild>
        </tasks>
    </project>
    
</cruisecontrol>   

现在,通过将 SERVERIPADDRESS 作为上述 XML 文档传递来配置 cc tray,然后单击“build”。如果构建成功,则会显示绿色符号,否则会显示红色符号。

配置 CCTray

步骤 1

转到 文件 -> 设置

3.JPG

第二步

然后在“构建项目”选项卡中,单击 添加 按钮。

4.JPG

步骤 3

之后,单击 添加服务器 按钮。

5.JPG

步骤 4

然后在 URL 部分,键入安装 ccnet 的服务器或本地主机的 IP 地址。

6.JPG

步骤 5

添加服务器后,配置文件中添加的所有项目都将显示在右侧面板上。单击项目以将其添加到 cctray。

7.JPG

在下一个教程中,我将讨论如何通过 ccnet 发送电子邮件以及如何 配置 ccnet 的 Web 控制面板

© . All rights reserved.