CruiseControl.Net学习记录
一、下载
二、安装
本文版本:1.8.5.0
运行安装程序,按照提示"下一步”,直到完成即可。
安装完毕之后,
生成一个windows服务,CruiseControl.NET Server ;
生成一个webdashboard网站(可自行在IIS中配置)。
三、启动
在服务管理控制台,启动服务CruiseControl.NET Server;也可以不启动windows服务,而采用ccnet.exe控制台程序,需以管理员身份运行。
在IIS中配置启动webdashboard站点。
四、配置
在server目录中的ccnet.config文件中进行项目配置。
github(git协议)
<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> <project name="ccnet.test" description="ccnet.test">
<!--项目编译状态信息的保存位置-->
<state type="state" directory="E:\CCNet\State" />
<!--对这个项目的监控过程的日志记录目录-->
<artifactDirectory>E:\CCNet\BuildArtifacts\ccnet.test</artifactDirectory>
<!--源代码控制系统-->
<sourcecontrol type="git">
<repository>git://github.com/shashoutian/ccnet.test.git</repository>
<branch>master</branch>
<executable>E:\ProgramFiles\Git\cmd\git.exe</executable>
<committerName>shashoutian</committerName>
<committerEMail>shashoutian2008@126.com</committerEMail>
<workingDirectory>D:\Projects\GitProjects\ccnet.test</workingDirectory>
</sourcecontrol>
<!--配置具体执行的任务-->
<tasks>
<exec>
<!-- if you want the task to fail, ping an unknown server -->
<executable>ping.exe</executable>
<buildArgs>localhost</buildArgs>
<buildTimeoutSeconds>15</buildTimeoutSeconds>
<description>Pinging a server</description>
</exec> <!--msbuild任务配置,用来编译项目-->
<msbuild>
<!--MSBuild.exe的路径-->
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<!--源代码的存放位置,不配置的时候为默认值 -->
<workingDirectory>D:\Projects\GitProjects\ccnet.test\CCNet.Test</workingDirectory>
<!--要编译的项目名称 -->
<projectFile>CCNet.Test.sln</projectFile>
<!-- MSBuild编译时的参数,具体参数信息可以查看MSDN上的说明-->
<buildArgs>/p:VisualStudioVersion=14.0;Configuration=Debug;OutputPath=E:\Publish\ccnet.test /v:diag</buildArgs>
<!--编译目标-->
<targets>Build</targets>
<!--超时时间-->
<timeout>900</timeout>
<!--日志记录模块-->
<logger>E:\ProgramFiles\CCNet\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild> <!--发布和部署配置-->
<buildpublisher>
<sourceDir>E:\Publish\ccnet.test\_PublishedWebsites\CCNet.Test</sourceDir>
<publishDir>E:\Publish\ccnet.test\_PublishedWebsites\CCNet.Test</publishDir>
<useLabelSubDirectory>false</useLabelSubDirectory>
<alwaysPublish>false</alwaysPublish>
</buildpublisher>
</tasks>
</project> </cruisecontrol>
gitlab(ssh协议)
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<!-- This is your CruiseControl.NET Server Configuration file.
Add your projects below! -->
<project name="Disney" description="Disney ManageWeb">
<!--分类-->
<category>后台系统</category>
<!--日志目录-->
<state type="state" directory="C:\CCNet\State" />
<artifactDirectory>C:\CCNet\BuildArtifacts\Disney</artifactDirectory>
<!--源码控制-->
<sourcecontrol type="git">
<repository>git@gitlab.mtime-dev.com:partner/disney-mw.git</repository>
<branch>develop</branch>
<executable>C:\Program Files (x86)\Git\cmd\git.exe</executable>
<workingDirectory>D:\GitProjects\partner\abc</workingDirectory>
</sourcecontrol>
<!--任务-->
<tasks>
<exec>
<!-- if you want the task to fail, ping an unknown server -->
<executable>ping.exe</executable>
<buildArgs>localhost</buildArgs>
<buildTimeoutSeconds>15</buildTimeoutSeconds>
<description>Pinging a server</description>
</exec>
<!--编译项目-->
<msbuild>
<executable>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>D:\GitProjects\partner\abc\Disney.Manage.Web</workingDirectory>
<projectFile>Disney.Manage.Web.csproj</projectFile>
<logger>E:\ccnet\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
<targets>Build</targets>
<timeout>900</timeout>
<!--/p 最后一对属性值后面不需要分号(切记)-->
<buildArgs>/p:OutputPath=E:\BuildOutput\disney;Configuration=Release;Platform=AnyCPU</buildArgs>
</msbuild>
<!--发布到站点-->
<buildpublisher>
<sourceDir>E:\BuildOutput\disney</sourceDir>
<publishDir>E:\websites\disney\</publishDir>
<useLabelSubDirectory>false</useLabelSubDirectory>
</buildpublisher>
</tasks>
<publishers>
<xmllogger />
<artifactcleanup cleanUpMethod="KeepLastXBuilds" cleanUpValue="50" />
</publishers>
</project>
</cruisecontrol>
五、配置节点详解
六、需要注意的问题
1、ccnet的webdashboard站点基于.net2.0运行;
2、ccnet通过git控制源代码时,需要首先确保在cmd命令行中可以执行git的各个命令,即需要配置环境变量Path:安装目录\Git\cmd,如 E:\ProgramFiles\Git\cmd;
3、使用github时,在ccnet.config中sourcecontrol节点的repository需采用git协议,而不是http协议和ssh协议,并且git协议获取的文件是只读的(待确认);如
<repository>git://github.com/shashoutian/ccnet.test.git</repository>
七、参考资料
每日集成CruiseControl.NET + SVN + Msbuild + NAnt
项目管理实践三、每日构建【Daily Build Using CruiseControl.NET and MSBuild】
CruiseControl.Net学习记录的更多相关文章
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
- Apache Shiro 学习记录4
今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
- UWP学习记录11-设计和UI
UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...
- UWP学习记录10-设计和UI之控件和模式7
UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
- UWP学习记录8-设计和UI之控件和模式5
UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...
- UWP学习记录7-设计和UI之控件和模式4
UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...
随机推荐
- Redis经验谈
新浪作为全世界最大的Redis用户,在开发和运维方面有非常多的经验.本文作者来自新浪,希望能为业界提供一些亲身经历,让大家少走弯路. 使用初衷 从2010年上半年起,我们就开始尝试使用Redis,主要 ...
- php 的函数参数值类型限定
如例: function test(array $a,test $b){ /*...*/ } class test{ /*...*/ } test(array(),new test); 表示test函 ...
- canvas 在线画图
canvas 在线画图 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- BC#32 1002 hash
代码引用kuangbin大神的,膜拜 第一次见到hashmap和外挂,看来还有很多东西要学 维护前缀和sum[i]=a[0]-a[1]+a[2]-a[3]+…+(-1)^i*a[i] 枚举结尾i,然后 ...
- NDK开发
1 CDT 是 Eclipse 插件,它将把 Eclipse 转换为功能强大的 C/C++ IDE. C/C++在Eclipse平台下的开发工具.它提供的功能包括:C/C++编辑器(一些基本的功能:语 ...
- diff和common
diff 命令 diff命令:找出两个文件的不同点,用于比较文件的差异 linux上非常重要的工具,一般用于制作补丁文件,特别是比较两个版本不同的文件以找到改动的地方. diff在命令行中打印每一个行 ...
- 配置JDKAndroid 2D游戏引擎AndEngine
配置JDKAndroid 2D游戏引擎AndEngine JDK全称为Java Development Kit(也即Java开发包),是用于支持Java 编程的基础.无论是什么编程,只要用到了Java ...
- Spring计划
团队: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...
- 简单几何(直线位置) POJ 1269 Intersecting Lines
题目传送门 题意:判断两条直线的位置关系,共线或平行或相交 分析:先判断平行还是共线,最后就是相交.平行用叉积判断向量,共线的话也用叉积判断点,相交求交点 /********************* ...
- 暴力/set Codeforces Round #291 (Div. 2) C. Watto and Mechanism
题目传送门 /* set的二分查找 如果数据规模小的话可以用O(n^2)的暴力想法 否则就只好一个一个的换(a, b, c),在set容器找相匹配的 */ #include <cstdio> ...