.NET环境下每日集成(3):CruiseControl.Net配置

1.要想使用CruiseControl.Net进行每日集成,必须对其进行必要的配置,配置文件是安装目录下的CCNet.Config
2.他是一个xml文件

< cruisecontrol >
    
< project  ..  >
    
</ project >

    
< project  ..  >
    
</ project >

    .
    .
</ cruisecontrol >
 
 

就是说我们可以管理多个project
其中<project>...</project>的结构如下

< project  name ="Project 1"  queue ="Q1"  queuePriority ="1" >
    
< workingDirectory > yourWorkingDirectory </ workingDirectory >
    
< artifactDirectory > yourArtifactDirectory </ artifactDirectory >
    
< category > Category 1 </ category >
    
< webURL > http://server1/ccnet/server/local/project/testProject/ViewLatestBuildReport.aspx </ webURL >
    
< modificationDelaySeconds > 2 </ modificationDelaySeconds >
    
< triggers >
        
< yourFirstTriggerType  .. />
        
< yourOtherTriggerType  .. />
    
</ triggers >
    
< state  type ="yourStateManagerType"  .. />
    
< sourcecontrol  type ="yourSourceControlType"  .. />
    
< labeller  type ="yourLabellerType"  .. />
    
< prebuild >
        
< yourFirstPrebuildTask  .. />
        
< yourOtherPrebuildTask  .. />
    
</ prebuild >
    
< tasks >
        
< yourFirstTask  .. />
        
< yourOtherTask  .. />
    
</ tasks >
    
< publishers >
        
< yourFirstPublisherTask  .. />
        
< yourOtherPublisherTask  .. />
    
</ publishers >
    
< externalLinks >
        
< externalLink  name ="My First Link"  url ="http://somewhere/"   />
        
< externalLink  name ="My Other Link"  url ="http://somewhere.else/"   />
    
</ externalLinks >
</ project >
 
 
节点名称-解释类型必须默认值
name项目的名称,必须是唯一的,名字可以随便起,最好能代表项目的意思,比如office, 等等stringyesn/a
queue就是集成的队列名字stringnothe project name
queuePriority队列的优先级,比如多个项目同时做集成,那个级别高,那个就先编译。stringno0
workingDirectory集成的工作目录,后面的需要设地址的,可以以这个作为相对目录stringnoWorkingDirectory
artifactDirectory集成的日志stringnoArtifacts
webURL集成报告的URLstringnohttp://localhost/ccnet
category集成的目录,集成报告中显示stringnoempty string
modificationDelaySeconds源码修改后延迟多少秒执行集成integerno0
sourcecontrol源码控制器配置,从哪里获得源码Source Control BlocknoNull Source Control Block
triggers引起集成编译的触发器List of Trigger Blocksno 
state集成状态管理State Manager BlocknoProject State Manager
labeller标签块,发布版本的标签,集成报告中用Labeller BlocknoDefault Labeller
tasks一些列顺序执行的任务List of Task Blocksnoempty list
prebuild编译之前顺序执行的任务List of Task Blocksnoempty list
publishers编译成功后执行的任务List of Task Blocksno 
externalLinksDashboard中附加的一些链接List of ExternalLinksnoempty list

 

3. 下面是我的测试项目的配置

< cruisecontrol >
< project  name ="TestProject" >
     
< workingDirectory > E:\dailybuild </ workingDirectory >
        
< artifactDirectory > E:\dailybuild </ artifactDirectory >
        
< category > TestProject </ category >
    
< sourcecontrol  type ="vsts"  autoGetSource ="true"   applyLabel ="false" >
          
< server > http://tfs1.TestProject.com:8080 </ server >          
          
< domain > TestProject.com </ domain >
          
< project > $/TestProject projects/Analysis and Design\Concierge\Prototype </ project >
          
< workingDirectory > E:\dailybuild\TestProject </ workingDirectory >
          
< cleanCopy > true </ cleanCopy >  
    
</ sourcecontrol >  
< tasks >
< msbuild >
  
< executable > C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe </ executable >
  
< workingDirectory > E:\dailybuild\TestProject\Solution\TestProject </ workingDirectory >
  
< projectFile > TestProject.sln </ projectFile >  
  
< logger > E:\dailybuild\ThoughtWorks.CruiseControl.MsBuild.dll </ logger >
  
< targets > Build </ targets >
  
< timeout > 900 </ timeout >
</ msbuild >
< buildpublisher >
     
< sourceDir > E:\dailybuild\TestProject\Solution\TestProject\PrecompiledWeb\WEB </ sourceDir >
     
< publishDir > E:\dailybuild\publish </ publishDir >
     
< useLabelSubDirectory > false </ useLabelSubDirectory >
</ buildpublisher >
<!-- <email from="dailybuild.jack@gmail.com" mailhost="smtp.gmail.com" mailhostUsername="dailybuild" 
mailhostPassword="123456654321"  includeDetails="TRUE">
    <users>
        <user name="jackwang" group="buildmaster" address="testuser@TestProject.com"/>
        <user name="JoeDeveloper" group="developers" address="wangdeshui@gmail.com"/>
    </users>
    <groups>
        <group name="developers" notification="change"/>
        <group name="buildmaster" notification="always"/>
    </groups>
</email>
-->
</ tasks >
< triggers >
        
< intervalTrigger  name ="continuous"  seconds ="600"  buildCondition ="IfModificationExists" />        
</ triggers >
< labeller  type ="dateLabeller"   />
</ project >
</ cruisecontrol >

4. 要想记录编译日志,我们还必须下载

ThoughtWorks.CruiseControl.MSBuild.dll,地址是:http://ccnetlive.thoughtworks.com/MSBuildXmlLogger-Builds/ 
把它放到我们的Projecte的<workingDirectory>目录下(示例是E:\dailybuild)

下篇我们将对几个复杂类型的配置节进行介绍

本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2008/04/23/1167370.html如需转载请自行联系原作者


王德水

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值