- 浏览: 256907 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (293)
- web (1)
- [随笔分类]项目管理 (30)
- [随笔分类]WCF (14)
- 未分类 (1)
- [随笔分类]Linq (4)
- [随笔分类]C#基础 (24)
- 项目 (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (8)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (9)
- [随笔分类]Ubuntu (4)
- ASP.Net (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (30)
- [随笔分类]ASP.NET MVC (20)
- [随笔分类]ASP.NET (3)
- [随笔分类]程序员厨房 (4)
- [随笔分类]英语学习 (28)
- [网站分类]4.其他技术区 (1)
- [随笔分类]Silverlight (12)
- [随笔分类]CodeSmith (8)
- [随笔分类]其他 (4)
- [随笔分类]Ruby (4)
- [发布至博客园首页] (34)
- [网站分类]其他技术区 (3)
- [随笔分类]Ruby on Rails (2)
- [网站分类].NET新手区 (33)
- [随笔分类]TDD (1)
- [随笔分类]不谈技术 (2)
- [网站分类]非技术区 (7)
最新评论
-
yicone:
You make a mistake when paste t ...
WCF步步为营(一):简单示例 -
jinweijie:
你好,这个实现不错,但是在用了scriptmanager以后就 ...
在服务器端保存ViewState
1.要想使用CruiseControl.Net进行每日集成,必须对其进行必要的配置,配置文件是安装目录下的CCNet.Config
2.他是一个xml文件
<!----><cruisecontrol>
<project .. >
</project>
<project .. >
</project>
.
.
</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>
<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>
<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)
下篇我们将对几个复杂类型的配置节进行介绍
发表评论
-
RUP十大要素的应用
2008-04-07 10:57 626发现了RUP的十大要素之后,怎样才能让它给我的职业生涯带来根本 ... -
12 个 XP 实践
2008-04-16 08:55 542有计划的开发:通过结合使用优先级"故事&qu ... -
利用FxCop进行代码规范检查
2008-04-23 11:02 8221. Fxcop下载 http://www.microsoft ... -
.NET环境下每日集成(1):简介
2008-04-23 13:53 819最近做项目,每天有如下任务,需求---》任务分解--》开发人员 ... -
.NET环境下每日集成(2):CruiseControl.Net安装
2008-04-23 14:08 9331. 到这里下载 http://sourceforge.net ... -
.NET环境下每日集成(3):CruiseControl.Net配置
2008-04-23 14:31 18931.要想使用CruiseControl.Net进行每日集成,必 ... -
.NET环境下每日集成(4):CruiseControl.Net配置注意事项
2008-04-24 09:38 8771. 今天机器改了密码,启动不了,解决方法如下 设置为当前登录 ... -
.NET环境下每日集成(5):CruiseControl.Net 源码管理器块
2008-04-24 10:02 10171. CruiseControl.Net支持非常多的源码管理器 ... -
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks
2008-04-24 16:55 1058这块配置在什么情况下运行集成 通常你会用Interval tr ... -
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
2008-04-24 17:10 1174Task Block 类型: Build Publishe ... -
.NET环境下每日集成(8):CruiseControl.Net Labeller Blocks
2008-04-24 17:21 716Labeller Blocks为每次编译标记 Date La ... -
成功是一种习惯
2008-10-03 15:24 548国庆马上就过去了,可 ... -
我的2008
2009-01-01 08:29 9642008年,祖国多灾多难,雪灾,地址,三鹿奶粉,留给我们太多的 ... -
《大道至简》笔记
2009-04-28 22:37 795偶见周爱民先生大道至 ... -
项目经理如何提高软件的质量
2009-05-04 16:30 839物理中的质量是指含有物质的多少,无论位置、状态、形状的改变,一 ... -
如何保持竞争力
2009-06-06 15:01 875竞争力在这里我指的是,做一个雇主,同事都喜欢的人。 如何保持 ... -
RUP十大要素的应用
2008-04-07 10:57 681发现了RUP的十大要素之后,怎样才能让它给我的职业生涯带来根本 ... -
12 个 XP 实践
2008-04-16 08:55 454有计划的开发:通过结合使用优先级"故事&quo ... -
利用FxCop进行代码规范检查
2008-04-23 11:02 7941. Fxcop下载 http://www.microsoft ... -
.NET环境下每日集成(2):CruiseControl.Net安装
2008-04-23 14:08 9481. 到这里下载 http://sourceforge.net ...
相关推荐
CruiseControl.NET 是 .NET 平台下的持续集成工具,CruiseControl (Java) 的 .NET 移植版本。CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。Cruise...
它是由ThoughtWorks公司开发的,是CruiseControl.NET的Ruby版本,因此在Ruby社区中被广泛应用。CruiseControl.rb的核心理念是通过持续地集成代码来尽早发现并解决潜在的问题,从而提高软件质量。 ### 一、Cruise...
3. 配置CruiseControl.net的XML配置文件,定义项目、源码仓库、构建触发器、任务等。 ### 四.入门 1. **下载源代码**:配置CruiseControl.net从SVN仓库自动拉取代码。 2. **配置自动编译**:在配置文件中指定编译...
2. **配置环境变量**:确保已正确设置了 `JAVA_HOME` 环境变量,以便 CruiseControl 能够找到正确的 Java 运行环境。 3. **启动服务**:使用 Windows 系统时,可以通过运行 `cruisecontrol.bat` 文件来启动服务;...
### 自动化集成CruiseControl.NET、NAnt与NUnit:构建持续集成环境 #### 概述 在软件开发过程中,回归测试是一个重要的但经常被忽视的环节。回归测试是指在对已有代码进行修改后重新运行之前的测试用例,以确保...
CruiseControl.NET是用于.NET平台的自动化连续集成服务器。 它是CruiseControl for Java的C#端口。 发行版 可以从下载高达1.8.5的版本。 发展 要求 视窗 Visual Studio 2019或Visual Studio 2017 + Visual Studio ...
CruiseControl.NET是一个专为.NET平台设计的自动化持续集成服务器,它的出现是为了满足.NET开发者在项目构建与测试自动化方面的需求。作为CruiseControl for Java的C#版本,CruiseControl.NET继承了其核心理念,即...
CC.NET(CruiseControl .NET)是一款开源的持续集成工具,专为.NET Framework环境设计。它提供了一种自动化的方式来构建、测试和部署软件项目,帮助开发团队保持代码的质量并及时发现集成问题。CC.NET 1.8.0是该工具...
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.net来支持多个项目,并实现持续集成。这不仅提高了开发效率,还确保了代码质量。希望本文能帮助读者更好地理解和应用CruiseControl.net。 --- 注意:上述配置示例...
安装完成后,系统会包含一系列必要的文件和目录,比如`cruisecontrol.bat`用于启动服务,`config.xml`作为主要的配置文件,`apache-ant-1.6.5`是CruiseControl依赖的Ant环境,`docs`包含使用文档和示例,`lib`存放...
3. **集成示例**:具体案例中通常会包含如何配置CruiseControl来执行ANT构建脚本的例子。 #### 四、CruiseControl的实施细节 CruiseControl的实施过程中,涉及到了几个重要的概念和技术点: 1. **分布式架构**:...
Curisecontrol持续集成的客户端版,CruiseControl.NET-CCTray-1.4.1-Setup.exe
我需要搭建一个C++项目的持续集成的环境 (windows的程序),所以这几天学习了一下CruiseControl.Net(以下简称CCNet),把整个过程跟大家分享一下。如果你没有用过CCNet,跟着我实战一把,相信会领你入门的。本文准备...
而现在,CruiseControl已发展成为一个家族式系统,包括CruiseControl.java、CruiseControl.net、CruiseControl.ruby等适应不同语言环境的实现,其强大的插件和扩展能力也是诸多同类系统无法比你的。而在这里,我只...
6. **CruiseControl.NET (CC.NET)**:CruiseControl.NET 是一个持续集成服务器,它可以持续监控源代码仓库(如VSS)的变化,一旦检测到更新,就会触发构建过程。 每日构建的工作流程大致如下: - CruiseControl...
CruiseControl支持多种构建引擎,如MSBuild(针对.NET环境)和Ant(针对Java环境),使得它能广泛应用于各种项目。 Rational统一变更管理,通常指的是IBM的Rational Team Concert(RTC),是一个强大的版本控制系统...