`
wangdeshui
  • 浏览: 255524 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

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

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><cruisecontrol>
    
<project .. >
    
</project>

    
<project .. >
    
</project>

    .
    .
</cruisecontrol>

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

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><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. 下面是我的测试项目的配置

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><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)

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

分享到:
评论

相关推荐

    CruiseControl.NET

    CruiseControl.NET 是 .NET 平台下的持续集成工具,CruiseControl (Java) 的 .NET 移植版本。CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。Cruise...

    持续集成之CruiseControl.rb

    它是由ThoughtWorks公司开发的,是CruiseControl.NET的Ruby版本,因此在Ruby社区中被广泛应用。CruiseControl.rb的核心理念是通过持续地集成代码来尽早发现并解决潜在的问题,从而提高软件质量。 ### 一、Cruise...

    CruiseControl.net

    3. 配置CruiseControl.net的XML配置文件,定义项目、源码仓库、构建触发器、任务等。 ### 四.入门 1. **下载源代码**:配置CruiseControl.net从SVN仓库自动拉取代码。 2. **配置自动编译**:在配置文件中指定编译...

    [CruiseControl]binary安装和启动

    2. **配置环境变量**:确保已正确设置了 `JAVA_HOME` 环境变量,以便 CruiseControl 能够找到正确的 Java 运行环境。 3. **启动服务**:使用 Windows 系统时,可以通过运行 `cruisecontrol.bat` 文件来启动服务;...

    Automatic Integration with CruiseControl.NET, NAnt, and NUnit

    ### 自动化集成CruiseControl.NET、NAnt与NUnit:构建持续集成环境 #### 概述 在软件开发过程中,回归测试是一个重要的但经常被忽视的环节。回归测试是指在对已有代码进行修改后重新运行之前的测试用例,以确保...

    CruiseControl.NET:CruiseControl.NET是使用.NET Framework实现的自动连续集成服务器。 从sourceforge下载。 该文档可以在以下位置找到

    CruiseControl.NET是用于.NET平台的自动化连续集成服务器。 它是CruiseControl for Java的C#端口。 发行版 可以从下载高达1.8.5的版本。 发展 要求 视窗 Visual Studio 2019或Visual Studio 2017 + Visual Studio ...

    CruiseControl.NET:用于.NET平台的自动化连续集成服务器-开源

    CruiseControl.NET是一个专为.NET平台设计的自动化持续集成服务器,它的出现是为了满足.NET开发者在项目构建与测试自动化方面的需求。作为CruiseControl for Java的C#版本,CruiseControl.NET继承了其核心理念,即...

    CC.NET持久化集成环境1.8.0

    CC.NET(CruiseControl .NET)是一款开源的持续集成工具,专为.NET Framework环境设计。它提供了一种自动化的方式来构建、测试和部署软件项目,帮助开发团队保持代码的质量并及时发现集成问题。CC.NET 1.8.0是该工具...

    CruiseControl-持续集成环境安装

    1、CruiseControl 的安装配置 2、CC + SVN + Msbuild 设置,配置文件...6、软件包:CruiseControl.NET-1.4.4-Setup.exe 7、软件包:CruiseControl.NET-CCTray-1.4.4-Setup.exe 8、软件包:VisualSVN-Server-2.1.10.msi

    CruiseControl笔记

    通过上述步骤,我们可以有效地配置CruiseControl.net来支持多个项目,并实现持续集成。这不仅提高了开发效率,还确保了代码质量。希望本文能帮助读者更好地理解和应用CruiseControl.net。 --- 注意:上述配置示例...

    Cruisecontrol

    3. **集成示例**:具体案例中通常会包含如何配置CruiseControl来执行ANT构建脚本的例子。 #### 四、CruiseControl的实施细节 CruiseControl的实施过程中,涉及到了几个重要的概念和技术点: 1. **分布式架构**:...

    CCnet的CruiseControl.NET-CCTray-1.4.1-Setup.exe

    Curisecontrol持续集成的客户端版,CruiseControl.NET-CCTray-1.4.1-Setup.exe

    CruiseControl.Net持续集成实战指南(包含如何配置c++项目)

    我需要搭建一个C++项目的持续集成的环境 (windows的程序),所以这几天学习了一下CruiseControl.Net(以下简称CCNet),把整个过程跟大家分享一下。如果你没有用过CCNet,跟着我实战一把,相信会领你入门的。本文准备...

    CruiseControl持续集成

    而现在,CruiseControl已发展成为一个家族式系统,包括CruiseControl.java、CruiseControl.net、CruiseControl.ruby等适应不同语言环境的实现,其强大的插件和扩展能力也是诸多同类系统无法比你的。而在这里,我只...

    CruiseControl简介及使用举例

    安装完成后,系统会包含一系列必要的文件和目录,比如`cruisecontrol.bat`用于启动服务,`config.xml`作为主要的配置文件,`apache-ant-1.6.5`是CruiseControl依赖的Ant环境,`docs`包含使用文档和示例,`lib`存放...

    每日构建的东西(.net)

    6. **CruiseControl.NET (CC.NET)**:CruiseControl.NET 是一个持续集成服务器,它可以持续监控源代码仓库(如VSS)的变化,一旦检测到更新,就会触发构建过程。 每日构建的工作流程大致如下: - CruiseControl...

    基于 CruiseControl 和 Rational 统一变更管理实现的软件开发中的自动化持续构建.mht

    CruiseControl支持多种构建引擎,如MSBuild(针对.NET环境)和Ant(针对Java环境),使得它能广泛应用于各种项目。 Rational统一变更管理,通常指的是IBM的Rational Team Concert(RTC),是一个强大的版本控制系统...

Global site tag (gtag.js) - Google Analytics