<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project>
<!--项目的WebDashboard地址,CruiseControl.NET包括二部分, 一是Server用来配置项目和监视文件修改,二是WebDashboard,是一个显示项目信息及编译信息的Website,该地址即编译后信息显示的网址,可以直接输入该网址来查看编译信息,ccnet是服务器的默认路径必须有,Hello是项目名-->
<webURL>http://10.2.3.18/ccnet/server/local/project/Hello/ViewProjectReport.aspx</webURL>
<!--项目名称-->
<name>Hello</name>
<!--触发器,包含多种,有兴趣可以查看官方文档-->
<triggers>
<!--时间间隔触发器,下面是60秒触发一次,也就是说60秒查看一下版本库变化情况-->
<intervalTrigger seconds="60"/>
</triggers>
<!--如果发现修改,延迟多久开始编译,下面是2秒-->
<modificationDelaySeconds>2</modificationDelaySeconds>
<!--源代码控制系统,支持多种,有兴趣可以查看官方文档,下面采用svn-->
<sourcecontrol type="svn">
<!--源代码在SVN服务器上的路径-->
<trunkUrl>http://10.2.3.18:81/svn/WCF/Hello</trunkUrl>
<!--svn服务器所在路径,在这里就是VisualSVN Server安装目录中的bin 目录下的svn.exe -->
<executable>C:/Program Files (x86)/VisualSVN Server/bin/svn.exe</executable>
<!--用来迁出源代码的用户名,svn服务器进行验证-->
<username>admin</username>
<!--用来迁出源代码的用户名对应的密码-->
<password>pass@word1</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\Hello\WorkingDirectory</workingDirectory>
<!--要编译的项目名称 一定要确定在SVN服务器中对应项目下要有这个sln文件否则会编译出错,导致无法加载svn的配置文件-->
<projectFile>Hello.sln</projectFile>
<!-- MSBuild编译时的参数,具体参数信息可以查看MSDN上的说明-->
<buildArgs></buildArgs>
<!--指定日志记录模块-->
<!--我这里的CruiseControl.NET 安装在C盘,你们使用时候,改成自己的 安装路径即可-->
<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\Hello\WorkingDirectory</sourceDir>
<!--编译成功后保存源代码到该目录下名称为版本标示labeller的目录中-->
<publishDir>C:\Program Files (x86)\CruiseControl.NET\server\Hello\HistoryVersion</publishDir>
</buildpublisher>
<!--该节点用来配置合并多个文件,当时有外部插件时,要把他们分别产生的输出文件合并-->
<merge>
<!--要合并的文件,合并后的信息可以显示在Web Dashboard和邮件通知里-->
<files>
<file>C:\Program Files (x86)\CruiseControl.NET\server\Hello\WorkingDirectory\results.xml</file>
</files>
</merge>
<!--源代码路径-->
<xmllogger/>
<!--显示历史修改记录列表, 在Web Dashboard中可以查看-->
<modificationHistory/>
<!--所有编译信息的统计, 在Web Dashboard中可以查看-->
<statistics/>
<!--邮件通知配置,每次编译后,都会邮件通知下面配置中添加的用户-->
<!-- mailhost是发送邮件的主机,mailport是邮件发送端 口,mailhostUsername发送邮件的邮箱用户名,mailhostPassword发送邮件的邮箱密码,from希望显示在发件人中的邮箱地 址, includeDetails邮件内容是否包含详细的编译信息 -->
<email mailhost="smtp.qq.com" mailport="25" mailhostUsername="xxxxxx@qq.com" mailhostPassword="xxxxxx" from="xxxxxx@qq.com" includeDetails="true">
<!--接收邮件通知的用户 -->
<users>
<!--name是SVN服务器上存在的用户名,group是SVN服务器上存在的 组,address是该用户的邮箱地址 -->
<user name="admin" group="Test" address="xxxxxx@qq.com" />
</users>
<!--接收邮件通知的组-->
<groups>
<!--name必须是SVN服务器上存在的组,notification是什么时候发送通 知,可选有Always/Success/Change/Fixed/Failed -->
<group name="Test" notification="always" /> 107
</groups>
</email>
</publishers>
</project>
<!--可以同时添加多个项目 -->
</cruisecontrol>