- 浏览: 2083814 次
- 性别:
- 来自: 厦门
-
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
转自:http://www.cnblogs.com/ttzhang/archive/2008/11/07/1328533.html
在上一篇项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】中我们已经讲解了如何使用TortoiseSVN和VisualSVN Server来做简单的版本控制,这一篇我们将会讲解使用CruiseControl.NET和MSBuild来搭建每日构建系统。
在第一篇项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】 中我们已经安装了CruiseControl.NET 1.4,因为我们还要用到MSBuild,所以如果你的系统没有安装Visual Studio,那么你需要首先安装Visual Studio 2005/2008,我们在这里使用的是Visual Studio 2008,准备好这些了吗?OK,我们正式开始今天的课程!
首先,我们要配置CruiseControl.NET【下面简写为CCNET】,配置完成后,我们每次提交源代码到SVN服务器后,CCNET就可以自动从SVN服务器上签出源代码,并调用MSBuild自动进行编译。我们以昨天的教程中创建的StartKit项目为实例,先看看下面的配置文件:


<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1 <cruisecontrol xmlns:cb="urn:ccnet.config.builder">
2 <!--项目名称-->
3 <name>StartKit</name>
4 <!--标示类型,有多种类型。下面为默认标示,作为每次编译时生成的日志文件的名称-->
5 <labeller type="defaultlabeller">
6 <!--前缀-->
7 <prefix>StartKit-1-</prefix>
8 <!--编译失败时是否增加-->
9 <incrementOnFailure>false</incrementOnFailure>
10 <!--格式-->
11 <labelFormat>00000</labelFormat>
12 </labeller>
13 <!--项目的WebDashboard地址,CruiseControl.NET包括二部分,一是Server用来配置项目和监视文件修改,二是WebDashboard,是一个显示项目信息及编译信息的Website-->
14 <webURL>http://202.196.96.55:8080/server/local/project/StartKit/ViewProjectReport.aspx</webURL>
15 <!--触发器,包含多种,有兴趣可以查看官方文档-->
16 <triggers>
17 <!--时间间隔触发器,下面是60秒触发一次-->
18 <intervalTrigger seconds="60" />
19 </triggers>
20 <!--如果发现修改,延迟多久开始编译,下面是2秒-->
21 <modificationDelaySeconds>2</modificationDelaySeconds>
22 <!--源代码控制系统,支持多种,有兴趣可以查看官方文档,下面采用svn-->
23 <sourcecontrol type="svn">
24 <!--源代码在SVN服务器上的路径-->
25 <trunkUrl>http://zt.net.henu.edu.cn/svn/StartKit/StartKit/</trunkUrl>
26 <!--svn服务器所在路径,在这里就是VisualSVN Server安装目录中的bin目录下的svn.exe -->
27 <executable>C:/Program Files/VisualSVN Server/bin/svn.exe</executable>
28 <!--用来迁出源代码的用户名,svn服务器进行验证-->
29 <username>starter</username>
30 <!--用来迁出源代码的用户名对应的密码-->
31 <password>123456</password>
32 <!--web获取源代码的地址,类似于开源网站上浏览代码的那部分功能,这里的类型是trac-->
33 <!--<webUrlBuilder type="trac">
34 <!--trac中对应项目的地址¬-->
35 <tracProjectUrl>http://svn.net.henu.edu.cn/pojects/StartKit/</tracProjectUrl>
36 <!--trac中对应项目的源代码库地址,相对于上面的路径-->
37 <tracRepositoryRoot>/StartKit</tracRepositoryRoot>
38 </webUrlBuilder>-->
39 </sourcecontrol>
40 <!--该节点用来配置具体执行那些任务-->
41 <tasks>
42 <!--msbuild任务配置,用来编译项目-->
43 <msbuild>
44 <!--MSBuild.exe的路径-->
45 <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
46 <!--从SVN迁出的源代码的存放位置,可以不配置,下面的即为默认值 -->
47 <!--我这里的CruiseControl.NET 安装在D盘,你们使用时候,改成自己的安装路径即可-->
48 <workingDirectory>D:\Program Files\CruiseControl.NET\server\StartKit\WorkingDirectory</workingDirectory>
49 <!--对这个项目的监控过程的日志记录目录,可以不配置,下面的即为默认值-->
50 <!--我这里的CruiseControl.NET 安装在D盘,你们使用时候,改成自己的安装路径即可-->
51 <artifactDirectory> D:\Program Files\CruiseControl.NET\server\StartKit\ Artifacts</artifactDirectory>
52 <!--要编译的项目名称 -->
53 <projectFile>StartKit.sln</projectFile>
54 <!-- MSBuild编译时的参数,具体参数信息可以查看MSDN上的说明-->
55 <buildArgs>/p:configuration=debug</buildArgs>
56 <!--指定日志记录模块-->
57 <!--我这里的CruiseControl.NET 安装在D盘,你们使用时候,改成自己的安装路径即可-->
58 <logger>ThoughtWorks.CruiseControl.MsBuild.XmlLogger,D:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
59 <!--编译目标-->
60 <targets />
61 </msbuild>
62 <!--在这里还可以添加其他的程序,比如运行测试、部署项目等等-->
63 </tasks>
64 <!--项目编译状态信息的保存位置-->
65 <!--我这里的CruiseControl.NET 安装在D盘,你们使用时候,改成自己的安装路径即可-->
66 <state type="state" directory="D:\Program Files\CruiseControl.NET\server\CCState" />
67 <!--发布和部署配置-->
68 <publishers>
69 <!--如果编译成功,那么下面的配置,会将源代码复制到指定目录HistoryVersion下,名称为版本标识(自动增长,labeller配置)的子目录下-->
70 <buildpublisher>
71 <!--源代码路径-->
72 <!--我这里的CruiseControl.NET 安装在D盘,你们使用时候,改成自己的安装路径即可-->
73 <sourceDir> D:\Program Files\CruiseControl.NET\server\StartKit\WorkingDirectory </sourceDir>
74 <!--编译成功后保存源代码到该目录下名称为版本标示labeller的目录中-->
75 <!--我这里的CruiseControl.NET 安装在D盘,你们使用时候,改成自己的安装路径即可-->
76 <publishDir> D:\Program Files\CruiseControl.NET\server\StartKit\HistoryVersion </publishDir>
77 </buildpublisher>
78 <!--该节点用来配置合并多个文件,当时有外部插件时,要把他们分别产生的输出文件合并-->
79 <merge>
80 <!--要合并的文件,合并后的信息可以显示在Web Dashboard和邮件通知里-->
81 <files>
82 <!--我这里的CruiseControl.NET 安装在D盘,你们使用时候,改成自己的安装路径即可-->
83 <file>D:\Program Files\CruiseControl.NET\server\StartKit\WorkingDirectory\results.xml</file>
84 </files>
85 </merge>
86 <!--源代码路径-->
87 <xmllogger />
88 <!--显示历史修改记录列表, 在Web Dashboard中可以查看-->
89 <modificationHistory />
90 <!--所有编译信息的统计, 在Web Dashboard中可以查看-->
91 <statistics />
92 <!--邮件通知配置,每次编译后,都会邮件通知下面配置中添加的用户-->
93 <!-- mailhost是发送邮件的主机,mailport是邮件发送端口,mailhostUsername发送邮件的邮箱用户名,mailhostPassword发送邮件的邮箱密码,from希望显示在发件人中的邮箱地址, includeDetails邮件内容是否包含详细的编译信息 -->
94 <email mailhost="smtp.qq.com" mailport="25"
95 mailhostUsername="******" mailhostPassword="******" from="******@qq.com" includeDetails="true">
96 <!--接收邮件通知的用户 -->
97 <users>
98 <!--name是SVN服务器上存在的用户名,group是SVN服务器上存在的组,address是该用户的邮箱地址 -->
99 <user name="zt" group="StartKit" address="******1@qq.com" />
100 <user name="***" group="StartKit" address="******2@qq.com" />
101 <user name="***" group="StartKit" address="******3@qq.com" />
102 </users>
103 <!--接收邮件通知的组-->
104 <groups>
105 <!--name必须是SVN服务器上存在的组,notification是什么时候发送通知,可选有Always/Success/Change/Fixed/Failed --> 106 <group name="StartKit " notification="always" /> 107 </groups>
108 </email>
109 </publishers>
110 </project>
111 <!--可以同时添加多个项目
112 <project >
113 <name>test</name>
114 ……
115 </project>
116 -->
117 </cruisecontrol
好了,我们已经对CCNET的配置文件有了大致的了解,接下来,你打开CCNET的安装路径,找到子目录server下的ccnet.config文件,把上面的配置信息Copy到ccnet.config文件中,记得把配置文件中的一些路径修改为自己的实际路径啊,修改好后,保存。这时候,检查Windows服务CruiseControl.NET Server是否启动,如果没有则启动它,启动该服务后,打开浏览在地址栏输入上面配置文件中的webUrl地址:http://202.196.96.55:8080/server/local/project/StartKit/ViewProjectReport.aspx 也可以直接输入http://202.196.96.55:8080/server/ ,这里是演示地址,要根据自己的实际情况修改为正确的地址,OK,看到类似下图的效果,好了,搞定!如果你遇到了什么麻烦,请在下面留言,我一定会及时回复!点击StartKit,转入下图所示的页面:
OK,到这里,我们提交更新到SVN服务器后,CCNET就会根据我们配置自动编译项目,而且我们也可以通过Web Dashboard来查看具体的编译信息了,提示如果配置了邮件发送,那么我们还可以通过邮件收到详细的编译信息,怎么样?够方便吧!
其实,CCNET的功能是相当强大的,上面只是最常用的配置,其他还有很多非常好的功能。你想知道吗?那你可以在这里查看CCNET官方文档 ,实际上,你安装CCNET后,文档也已经安装到你的电脑了,在CCNET的安装目录下的webdashboard的子目录doc中就是。
好了,我们今天的教程就到这里,本来我应该把如何使用CruiseControl.NET Tray来监视每次更新后的编译状态,但是今天真的太晚了,明天还要做项目,所以我明天补上,请大家见谅!
补充部分:
下面我简单讲一下,如何使用CruiseControl.NET Tray【以下简称CCTray】来监视每次提交后的编译状态。
安装好打开CCTray后,运行CCTray程序,点击左上角的菜单File下的Settings…,如下图:
点击Settings…会弹出下面的窗体:
切换到Build Projects选项卡,如下图:
点击Add…按钮,添加我们的CCNET服务器,如下图:
输入我们的CCNET服务器后,CCNET服务器上的项目就会在右侧显示出来,如下图:
选中右侧的项目后,点击OK按钮,返回CCTray打开时的界面,我们的二个项目已经添加进来了,如下图:
我们在桌面的右下角的任务栏,可以看到如下图所示的图标:
绿色的那个标示就是CCTray的标示,绿色表示所有的项目都通过了编译,紫红色表示至少有一个项目没有通过编译,橘黄色表示有项目正在编译,橘红色表示有项目被强制编译,显示为灰色则说明和CCNET服务器失去了链接。
OK,大家可以使用CCTray实时监视提交更新后项目的编译状态了。
如果大家有什么问题,欢迎和我交流!
发表评论
-
Excel筛选后怎样计算筛选结果的行数?
2011-09-03 10:08 2411Excel筛选后怎样计算筛选结果的行数? 摘自:http ... -
如何在百度、Google地图输入经纬度进行查询?
2011-04-21 10:24 16560问题描述:如何在百度、Google地图输入经纬度进行查询? ... -
在word里 怎么样自动生成目录
2011-03-23 11:44 1638摘自:http://zhidao.baidu.co ... -
GHOST XP V10将我所有的盘都格式化并且缩成一个C盘,我所有的文件都不在了!!!
2011-03-11 18:13 1139问题描述: GHOST XP V10将我所有的盘都格式化并且缩 ... -
ddd
2010-11-05 21:24 849http://nc.mofcom.gov.cn/news/12 ... -
DotTrace工具 检查你程序的cpu分配
2010-10-09 16:11 1106网友所说: DotTrace工具来检查你程序的cpu分配 -
Word 不要显示回车换行符问题
2010-09-20 18:57 1802摘自:http://ask.lenovo.com.cn/ ... -
UltraEdit批量修改文件内容
2010-09-20 15:08 2618UltraEdit批量修改文件内容 转 ... -
匿名用户失效时--如何更改IIS默认的匿名用户
2010-09-06 09:59 1209如何更改IIS默认的匿名用户 错误描述: 您 ... -
远程桌面的全屏
2010-09-04 12:56 1435转自:http://wenwen.soso.com/z/q19 ... -
在IIS上启用Gzip压缩(HTTP压缩)
2010-09-02 14:59 1155转自:http://wjboy49.iteye.com/ ... -
怎样去掉WORD文档中的空格?
2010-08-20 11:39 1327吾阅:经验证,可行; 摘自:http://iask.s ... -
电子塑封机使用方法 SF320
2010-08-11 14:57 2831电子塑封机使用方法 ... -
文字居中的快捷键-- word Ctrl+E
2010-08-03 06:31 2386已验证: word里文字居中的快捷键 是Ctrl ... -
学正则表达式用MTrace
2010-07-28 18:01 9452010-7-28 待验证 学正则表达式 ... -
手机内存卡里出现了乱码是怎么回事
2010-07-15 16:53 3370吾阅:经验证,修复后,去掉了好多的乱码文件,但并不完全; ... -
不用升级 普通MP4也能看PDF ---PDFtoJPG
2010-07-15 11:16 1196吾阅:待验证; ------------- ... -
使用无驱固件的播放机的文件排序技巧--例如MP3内的文件播放顺序
2010-07-14 14:49 1122吾阅:待验证; ... -
word2003中,格式刷有快捷键吗
2010-07-14 13:49 1512吾阅:如果双击格式刷,可连续多次使用! - ... -
Ruby1.8.7安装全程指南
2010-07-07 15:31 3018吾阅:只差Rails没安装外,其他照着做,就可以完成;但 ...
相关推荐
CruiseControl.NET是一款自动化的持续集成工具,可以与msbuild集成,以实现项目的自动编译和监视。本文将详细介绍CruiseControl.NET + msbuild的安装与配置方法。 安装CruiseControl.NET 1. 下载CruiseControl.NET...
CruiseControl.NET-CCTray-1.8.4.0-Setup.exe
CruiseControl.NET 是 .NET...CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。CruiseControl提供了一个Web接口, 可随时查看当前的编译状况和历史状况。
CruiseControl.NET-1.4.4-Setup.exe
CruiseControl.NET-CCTray-1.5.6804.1-Setup
### 自动化集成CruiseControl.NET、NAnt与NUnit:构建持续集成环境 #### 概述 在软件开发过程中,回归测试是一个重要的但经常被忽视的环节。回归测试是指在对已有代码进行修改后重新运行之前的测试用例,以确保...
CruiseControl.NET-1.8.2.0-Setup.exe ccnet 服务端
Curisecontrol持续集成的客户端版,CruiseControl.NET-CCTray-1.4.1-Setup.exe
CruiseControl.net的Web界面提供了丰富的信息,包括项目状态、最近构建的时间、构建日志、测试结果等。通过这个界面,开发者可以快速了解项目的健康状况,及时发现和解决问题。 总结来说,CruiseControl.net是一个...
CruiseControl.NET是一个专为.NET平台设计的自动化持续集成服务器,它的出现是为了满足.NET开发者在项目构建与测试自动化方面的需求。作为CruiseControl for Java的C#版本,CruiseControl.NET继承了其核心理念,即...
CruiseControl.NET-1.4-Setup
CruiseControl 安装包,配合MSbuild 和Wix 可进行自动发布版本,在cc.net 中进行各种参数的配置,开发工程的源代码部分要求必须有一个.wixproj.
CruiseControl.NET-1.8.4.0
用于检测项目是否编译成功的客户端软件,开发网站或者软件项目,自动检测项目的当天是否出错了。
在C#和ASP.NET项目中集成CruiseControl.Net,首先需要确保开发环境已经配置了Visual Studio 2008和MSBuild。MSBuild是.NET框架的一部分,用于编译项目和解决方案。CruiseControl.Net通过调用MSBuild命令行工具来执行...
CruiseControl.NET-CCTray-1.8.2.0-Setup.exe ccnet每日构建客户端
CruiseControl.NET CruiseControl.NET是用于.NET平台的自动化连续集成服务器。 它是CruiseControl for Java的C#端口。 发行版 可以从下载高达1.8.5的版本。 发展 要求 视窗 Visual Studio 2019或Visual Studio ...
每日构建(Daily Build)在IT行业中,特别是在软件开发领域,是一项至关重要的实践。它通过自动化的方式,每天定期地对项目的源代码进行编译、测试和打包,以确保项目的稳定性,并及时发现并修复潜在的错误。这有助...