.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如需转载请自行联系原作者


王德水

相关文章
|
5月前
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
121 5
|
7月前
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
736 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
5月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
330 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
5月前
|
JSON JavaScript API
MCP 实战:用配置与真实代码玩转 GitHub 集成
MCP 实战:用配置与真实代码玩转 GitHub 集成
1216 4
|
6月前
|
缓存 前端开发 API
(网页系统集成CAD功能)在线CAD中配置属性的使用教程
本文介绍了Mxcad SDK在线预览和编辑CAD图纸的功能及配置方法。通过Vite、CDN或Webpack实现集成,用户可自定义设置以满足项目需求。主要内容包括:1)`createMxCad()`方法的初始属性配置,如画布ID、WASM文件路径、字体加载路径等;2)`MxFun.setIniset()`方法提供的更多CAD初始配置;3)`McObject`对象API用于动态调整视图背景色、浏览模式等。此外,还提供了在线Demo(https://demo2.mxdraw3d.com:3000/mxcad/)供用户测试实时效果。
|
8月前
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
3021 14
|
7月前
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
873 0
|
7月前
|
缓存 Java 应用服务中间件
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——依赖导入和Thymeleaf相关配置
在Spring Boot中使用Thymeleaf模板,需引入依赖`spring-boot-starter-thymeleaf`,并在HTML页面标签中声明`xmlns:th=&quot;http://www.thymeleaf.org&quot;`。此外,Thymeleaf默认开启页面缓存,开发时建议关闭缓存以实时查看更新效果,配置方式为`spring.thymeleaf.cache: false`。这可避免因缓存导致页面未及时刷新的问题。
279 0
|
11月前
|
人工智能 API C#
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
210 5
使用Microsoft.Extensions.AI简化.NET中的AI集成
|
10月前
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。

热门文章

最新文章