.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, 等等 string yes n/a
queue 就是集成的队列名字 string no the project name
queuePriority 队列的优先级,比如多个项目同时做集成,那个级别高,那个就先编译。 string no 0
workingDirectory 集成的工作目录,后面的需要设地址的,可以以这个作为相对目录 string no WorkingDirectory
artifactDirectory 集成的日志 string no Artifacts
webURL 集成报告的URL string no http://localhost/ccnet
category 集成的目录,集成报告中显示 string no empty string
modificationDelaySeconds 源码修改后延迟多少秒执行集成 integer no 0
sourcecontrol 源码控制器配置,从哪里获得源码 Source Control Block no Null Source Control Block
triggers 引起集成编译的触发器 List of Trigger Blocks no  
state 集成状态管理 State Manager Block no Project State Manager
labeller 标签块,发布版本的标签,集成报告中用 Labeller Block no Default Labeller
tasks 一些列顺序执行的任务 List of Task Blocks no empty list
prebuild 编译之前顺序执行的任务 List of Task Blocks no empty list
publishers 编译成功后执行的任务 List of Task Blocks no  
externalLinks Dashboard中附加的一些链接 List of ExternalLinks no empty 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如需转载请自行联系原作者


王德水

相关文章
|
4月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
14天前
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
1月前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
38 3
|
1月前
|
安全 算法 编译器
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
【10月更文挑战第30天】在.NET 9 中,AOT(Ahead-of-Time)编译技术在支持老旧的 Windows 7 和 XP 系统方面取得了显著进展。主要突破包括:性能提升(启动速度加快、执行效率提高)、部署优化(无需安装.NET 运行时、减小应用程序体积)、兼容性保障(编译策略优化、依赖项管理改进)以及安全性增强(代码保护机制)。这些改进使得应用程序在老旧系统上运行更加流畅、高效和安全。
|
1月前
|
XML 安全 API
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
.NET 9开始,AOT支持Win7和XP,不仅仅只支持SP1版本
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
109 9
|
4月前
|
JavaScript 网络协议 API
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
|
开发工具 Android开发 Windows
.Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建
原文:.Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建 闲来没事做,还是想再学习一门新的技术,无论何时Android开发比Web的开发工资应该高40%,我也建议大家面对移动开发,我比较喜欢学习最新版本的,我有java的基础,但是年久,已经淡忘,以零基础学习,希望没有很多的语言...
938 0
|
3月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
51 7