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.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...
随机推荐
- [Android Pro] android 混淆文件project.properties和proguard-project.txt
参考文档:http://blog.csdn.net/xueyepiaoling/article/details/8202359转载自:http://glblong.blog.51cto.com/305 ...
- [Android Pro] ant 编译android工程
参考文章: http://blog.csdn.net/xyz_lmn/article/details/7268582?reload http://hubingforever.blog.163.com/ ...
- 4.抽象工厂模式(Abstract Factory)
using System; using System.Reflection; namespace ConsoleApplication1 { class Program { static void M ...
- 【shiro】一、基础概念
来源:http://blog.csdn.net/swingpyzf/article/details/46342023/ &&&& http://jinnianshilo ...
- Android 建立文件夹、生成文件并写入文本文件内容
一.首先添加权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">& ...
- XStream 快速转换xml
项目地址:http://xstream.codehaus.org/tutorial.html (以下来源于官网) 1.Create classes to be serialized(初始化类) pub ...
- hive复杂类型与java类型的对应
因为要往自定义的UDF传入复杂类型,所以需要对于这块的对应简单做一下总结 string java.lang.String, org.apache.hadoop.io.Text int int, jav ...
- Hark的数据结构与算法练习之地精(侏儒)排序
算法说明 地精排序是交换排序的一种,它是冒泡排序的一种改良,我感觉和鸡尾酒排序挺像的. 不同之处是鸡尾酒排序是从小到大,然后再从大到小切换着排序的.而地精排序是上来先从小到大排序,碰到交换到再从大到小 ...
- AppleWatch开发教程之调试程序使用帮助文档
AppleWatch开发教程之调试程序使用帮助文档 AppleWatch开发教程之调试程序 调试又被称为排错,是发现和减少程序错误的一个过程.在Xcode中进行调试的需要实现以下几个步骤: 1.添加断 ...
- 最短路(Bellman_Ford) POJ 1860 Currency Exchange
题目传送门 /* 最短路(Bellman_Ford):求负环的思路,但是反过来用,即找正环 详细解释:http://blog.csdn.net/lyy289065406/article/details ...