CruiseControl.NET and MSBuild

首先,确保你的电脑上已经安装了IIS(因为CC.NET会在IIS里面建立一个虚拟目录作为Web服务)。

其次,是安装.Net framework 2.0(后面会用到,例如MSBuild,framework版本可以更高,如安装vs2010的话则是framew 4)

OK,现在可以安装CruiseControl.NET-1.4.1-Setup.exe(服务器端)了,基本上一路回车就好了。

然后,接着安装CruiseControl.NET-CCTray-1.4.1-Setup.exe(客户端)同上。

安装成功,你打开IIS看看你的默认的web站点下面有名为ccnet的虚拟目录吗?

如果有,右键浏览,如图所示:

打开C:\Program Files (x86)\CruiseControl.NET\server(即ccnet的安装路径),将ccnet.config文件写改如下:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project>

<!--项目的WebDashboard地址,CruiseControl.NET包括二部分, 一是Server用来配置项目和监视文件修改,二是WebDashboard,是一个显示项目信息及编译信息的Website,该地址即编译后信息显示的网址,可以直接输入该网址来查看编译信息,ccnet是服务器的默认路径必须有WCF是项目名-->
<webURL>http://10.2.3.18/ccnet/server/local/project/WCF/ViewProjectReport.aspx</webURL>

<!--项目名称-->
<name>WCF</name>

<!--标示类型,有多种类型。下面为默认标示,作为每次编译时生成的日志文件的名称-->
   
<labeller type="defaultlabeller">
       
<!--前缀-->
       
<prefix>WCF-1-</prefix>
       
<!--编译失败时是否增加-->
        
<incrementOnFailure>false</incrementOnFailure>
       
<!--格式-->
      
<labelFormat>00000</labelFormat>
  
</labeller>
<triggers>

<!--时间间隔触发器,下面是60秒触发一次,也就是说60秒查看一下版本库变化情况-->
<intervalTrigger seconds="60"/>
</triggers>

<!--如果发现修改,延迟多久开始编译,下面是2秒-->
<modificationDelaySeconds>2</modificationDelaySeconds>
<sourcecontrol type="svn">

<!--源代码在SVN服务器上的路径-->
<trunkUrl>http://10.2.3.18:81/svn/WCF/WCF</trunkUrl>

<!--svn服务器所在路径,在这里就是VisualSVN Server安装目录中的bin 目录下的svn.exe -->
<executable>C:/Program Files (x86)/VisualSVN Server/bin/svn.exe</executable>

 <!--用来迁出源代码的用户名,svn服务器进行验证-->
<username>wxm</username>

 <!--用来迁出源代码的用户名对应的密码-->
<password>weixiaomei</password>
</sourcecontrol>

<!--该节点用来配置具体执行那些任务-->
<tasks>

<!--msbuild任务配置,用来编译项目-->
<msbuild>

<!--MSBuild.exe的路径-->
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>

<!--从SVN迁出的源代码的存放位置,可以不配置,下面的即为默认值 -->

<!--我这里的CruiseControl.NET 安装在C盘,你们使用时候,改成自己的 安装路径即可-->
<workingDirectory>C:\Program Files (x86)\CruiseControl.NET\server\WCF\WorkingDirectory</workingDirectory>

<!--要编译的项目名称  一定要确定在SVN服务器中对应项目下要有这个sln文件否则会编译出错,导致无法加载svn的配置文件-->
<projectFile>WCF.sln</projectFile>

<!-- MSBuild编译时的参数,具体参数信息可以查看MSDN上的说明-->
<buildArgs></buildArgs>

 <!--指定日志记录模块-->
<logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>

<!--编译目标-->
<targets>Build</targets>
</msbuild>
</tasks>
<publishers>

<!--如果编译成功,那么下面的配置,会将源代码复制到指定目录HistoryVersion 下,名称为版本标识(自动增长,labeller配置)的子目录下-->
<buildpublisher>

<!--源代码路径-->
<sourceDir>C:\Program Files (x86)\CruiseControl.NET\server\WCF\WorkingDirectory</sourceDir>

<!--编译成功后保存源代码到该目录下名称为版本标示labeller的目录中-->
<publishDir>C:\Program Files (x86)\CruiseControl.NET\server\WCF\HistoryVersion</publishDir>
</buildpublisher>

<!--该节点用来配置合并多个文件,当时有外部插件时,要把他们分别产生的输出文件合并--> 
<merge>

 <!--要合并的文件,合并后的信息可以显示在Web Dashboard和邮件通知里-->
<files>
<file>C:\Program Files (x86)\CruiseControl.NET\server\WCF\WorkingDirectory\results.xml</file>
</files>
</merge>

 <!--源代码路径-->
<xmllogger/>

<!--显示历史修改记录列表, 在Web Dashboard中可以查看-->
<modificationHistory/>

 <!--所有编译信息的统计, 在Web Dashboard中可以查看-->
<statistics/>
</publishers>
</project>

<!--可以同时添加多个项目  -->
<project>
<webURL>http://10.2.3.18/ccnet/server/local/project/Hello/ViewProjectReport.aspx</webURL>
<name>Hello</name>
<triggers>
<intervalTrigger seconds="60"/>
</triggers>
<modificationDelaySeconds>2</modificationDelaySeconds>
<sourcecontrol type="svn">
<trunkUrl>http://10.2.3.18:81/svn/WCF/Hello</trunkUrl>
<executable>C:/Program Files (x86)/VisualSVN Server/bin/svn.exe</executable>
<username>wxm</username>
<password>weixiaomei</password>
</sourcecontrol>
<tasks>
<msbuild>
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\Program Files (x86)\CruiseControl.NET\server\Hello\WorkingDirectory</workingDirectory>
<projectFile>Hello.sln</projectFile>
<buildArgs></buildArgs>
<logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
<targets>Build</targets>
</msbuild>
</tasks>
<publishers>
<buildpublisher>
<sourceDir>C:\Program Files (x86)\CruiseControl.NET\server\Hello\WorkingDirectory</sourceDir>
<publishDir>C:\Program Files (x86)\CruiseControl.NET\server\Hello\HistoryVersion</publishDir>
</buildpublisher>
<merge>
<files>
<file>C:\Program Files (x86)\CruiseControl.NET\server\Hello\WorkingDirectory\results.xml</file>
</files>
</merge>
<xmllogger/>
<modificationHistory/>
<statistics/>
</publishers>
</project>
</cruisecontrol>

则配置文件已完成,下面打开客户端cctray添加要编译的项目

选择File->Settings...打开Buid Projects选项卡

点击Add,添加项目

点击Add Server添加ccnet服务器

由于我的ccnet服务器建在本机,所以选择第二个选项,点击ok

在右边则可以看到ccnet.config中已配置的项目,选择需要的项目,点击ok

点击ok

以上则将要监视的项目添加如客户端,当cctray为绿色时表示编译通过,桔黄色表示正在编译,红色则表示编译失败,当选择Force Build表示强制编译,否则就会按照配置文件中的配置时间间隔去版本库中获取新版本进行编译

参考文件:http://www.cnblogs.com/icebutterfly/archive/2008/12/17/1356543.html

http://qiuguangchun.blog.163.com/blog/static/12622121201132853538345/

原文地址:https://www.cnblogs.com/GreenGrass/p/2706933.html