CC.NET 是 CruiseControl.NET 的简称,官方网站在这里。 官方的定义是自动连续集成服务, 使用Microsoft .NET Framework实现. 另外它还有Java的版本叫做CruiseControl。

1)CC.NET 单独是不起什么作用的,在部署CC.NET 之前,还需要安装版本控制服务,它支持下列表所示的代码控制,下面我们以Subversion为例来说明, 在另一部机器装上VisualSVN Service,机器名为greg-pc1, 本机安装TortoiseSVN客户端。

2)首先,确保你的电脑上已经安装了IIS(因为CC.NET会在IIS里面建立一个虚拟目录作为Web服务DashBoard)。在上面可以查看集成的详细信息。要安装这个模块之前必须配置好IIS, 下面以Win7下的IIS7.5为例来说明,   IIS是Windows操作系统自带的组件。

如果在安装操作系统的时候没有安装IIS,请打开“控制面板”->“添加或删除程序”->“添加/删除Windows组件”->双击“Internet信息服务”-> 选择“World Wide Web 服务器 ”安装。 , 这里在”Web管理工具“的选项,要勾选"IIS元数据库和IIS6配置兼容性“,然后尝试在VS2010下新建一个Web应用,发布一下,如果能发布成功,才可以成功安装CC.NET。

3)下面是CC.NET的安装过程。

首先从这个目录下载最新版本的软件  http://sourceforge.net/projects/ccnet

  1. 一直点击Next,选择软件安装路径,等待软件安装完成,界面如下:

软件安装完成之后,在系统windows服务中将增加名为CruiseControl.Net Server的系统服务,如下:

命令行敲入Services.msc ,可以看到,CC服务为手动,初始未启动状态。

在【开始】-》【CruiseControl.NET】-》打开ccnet.config配置文件,开始配置,

或者打开C:\Program Files (x86)\CruiseControl.NET\server(即ccnet的安装路径),将ccnet.config文件写改如下:

   1:  <project name="NMBCommon"    description="Project Config for NMBCommon">
   2:
   3:   
   4:      <!--项目的WebDashboard地址,CruiseControl.NET包括二部分, 一是Server用来配置项目和监视文件修改,
   5:      二是WebDashboard,是一个显示项目信息及编译信息的Website,该地址即编译后信息显示的网址,可以直接
   6:      输入该网址来查看编译信息,ccnet是服务器的默认路径必须有,NMBCommon是项目名-->
   7:      <webURL>http://127.0.0.1/ccnet/ViewFarmReport.aspx</webURL>
   8:      <workingDirectory>E:\CCProject\SRC</workingDirectory>
   9:      <artifactDirectory>E:\CCProject\SRC</artifactDirectory>
  10:      <category>ISS</category>
  11:      
  12:      <!--构建触发条件-->
  13:      <triggers>
  14:        <!--定时触发,触发时间是晚上8:30, 构建条件是强制-->
  15:        <scheduleTrigger time="20:30" buildCondition="ForceBuild" >
  16:          <weekDays>
  17:            <!--每个星期的星期几执行-->
  18:            <weekDay>Monday</weekDay>
  19:          </weekDays>
  20:        </scheduleTrigger>
  21:      </triggers>
  22:      
  23:      <!--如果发现修改,延迟多久开始编译,下面是2秒-->
  24:      <modificationDelaySeconds>2</modificationDelaySeconds>
  25:      
  26:      <!--提取源代码控制节点,类型是SVN, 自动获取源码-->
  27:      <sourcecontrol type="svn" autoGetSource="true">
  28:        <!--SVN地址,这里注意只获取本解决方案的源码-->
  29:        <trunkUrl>https://greg-pc1/svn/SRC/trunk/NMBCommon</trunkUrl>
  30:        <!--工作目录也是限制在本解决方案的目录-->
  31:        <workingDirectory>E:\CCProject\SRC\NMBCommon</workingDirectory> 
  32:        <!--SVN的可执行文件路径-->
  33:        <executable>C:\Program Files\TortoiseSVN\bin\svn.exe</executable>   
  34:        <!--登陆用户密码-->
  35:        <username>user</username>                                     
  36:        <password>pass</password> 
  37:      </sourcecontrol>
  38:   
  39:   
  40:      <tasks>
  41:        <!--msbuild任务配置,用来编译项目-->
  42:        <msbuild>
  43:          <!--MSBuild.exe的路径-->
  44:          <executable>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
  45:          <!--从SVN迁出的源代码的存放位置,可以不配置,下面的即为默认值 -->
  46:          <workingDirectory>E:\CCProject\SRC\NMBCommon</workingDirectory>
  47:          <!--要编译的项目名称  一定要确定在SVN服务器中对应项目下要有这个sln文件否则会编译出错,导致无法加载svn的配置文件-->
  48:          <projectFile>NMBCommon.sln</projectFile>
  49:          <!-- MSBuild编译时的参数,具体参数信息可以查看MSDN上的说明-->
  50:          <buildArgs>/t:rebuild /v:quiet /noconlog  /p:Configuration=Release </buildArgs>
  51:          <!--编译目标-->
  52:          <targets>rebuild</targets>
  53:          <!--超时时间-->
  54:          <timeout>900</timeout>
  55:          <!--指定日志记录模块-->
  56:          <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
  57:        </msbuild>
  58:      </tasks>
  59:   
  60:      <publishers>
  61:        <!--如果编译成功,那么下面的配置,会将源代码复制到指定目录HistoryVersion 下,名称为版本标识(自动增长,labeller配置)的子目录下-->
  62:        <buildpublisher>
  63:          <!--源代码路径-->
  64:          <sourceDir>E:\CCProject\SRC\NMBCommon</sourceDir>
  65:          <!--编译成功后保存源代码到该目录下名称为版本标示labeller的目录中-->
  66:          <publishDir>E:\CCProject\SRC\NMBCommon\HistoryVersion</publishDir>
  67:        </buildpublisher>
  68:   
  69:        <!--xml日志-->
  70:        <xmllogger />
  71:        
  72:        <!--显示历史修改记录列表, 在Web Dashboard中可以查看-->
  73:        <modificationHistory/>
  74:   
  75:        <!--所有编译信息的统计, 在Web Dashboard中可以查看-->
  76:        <statistics/>
  77:   
  78:        <artifactcleanup cleanUpMethod="KeepLastXBuilds" cleanUpValue="50" />
  79:      </publishers>
  80:   
  81:      <!--标示类型,有多种类型。下面为默认标示,作为每次编译时生成的日志文件的名称-->
  82:      <labeller type="defaultlabeller">
  83:        <!--标志的前缀-->
  84:        <prefix>NMBCommon-Build-</prefix>
  85:        <!--格式-->
  86:        <labelFormat>00000</labelFormat>
  87:        <!--就算编译失败,也要加1-->
  88:        <incrementOnFailure>true</incrementOnFailure>
  89:      </labeller>
  90:    </project>
 

编辑完配置,启动CC服务,打开浏览器地址http://localhost/ccnet/ViewFarmReport.aspx,就进入Dashboard

CruiseControl.NET 的安装与配置的更多相关文章

  1. Maven的安装、配置及使用入门

    Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与 ...

  2. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  3. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  4. 烂泥:redis3.2.3安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...

  5. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  6. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  7. ZooKeeper安装与配置

    一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...

  8. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

  9. 烂泥:zabbix3.0安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...

随机推荐

  1. swap() 函数实现的方法

    swap()函数总结: 一.利用临时变量 1.引用(交换任意类型) template <typename T> void swap(T& x,T& y) { T tmp; ...

  2. 关于linux内核用纯c语言编写的思考

    在阅读linux2.6 版本内核的虚拟文件系统和驱动子系统的时候,我发现内核纯用c语言编写其实也是有一点不方便,特别是内核中大量存在了对象的概念,比如说文件对象,描述起来使用对象描述,但是对象在c语言 ...

  3. Linux之网络ping(unknown host)故障及yum no more mirrors to try

    1.ping外网出现ping:unknown host   字样故障 鉴于网上大多都是提供临时生效的解决办法,这里不再赘述,并提供下永久生效的方案: 永久生效: 1)添加DNS地址和下一跳网关地址至网 ...

  4. nlogn求LIS(树状数组)

    之前一直是用二分 但是因为比较难理解,写的时候也容易忘记怎么写. 今天比赛讲评的时候讲了一种用树状数组求LIS的方法 (1)好理解,自然也好写(但代码量比二分的大) (2)扩展性强.这个解法顺带求出以 ...

  5. c# 异步执行

    c#异步执行 Action logAction = () => {////执行的操作 }; logAction.BeginInvoke(null, null);

  6. SQLServer中的Cross Apply、Outer Apply

    https://www.2cto.com/database/201304/206330.html

  7. ansible special topics

    1.加速模式运行playbook accelerate 对于使用ansible 1.5 及之后版本的用户,加速模式只在以下情况下有用处: (A) 管理红帽企业版 Linux 6 或者更早的那些依然使用 ...

  8. Linux下几种文件传输命令

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  9. 剖析Spark-Shell

    打开spark-shell,我们可以看到 function main() { if $cygwin; then stty -icanon min 1 -echo > /dev/null 2> ...

  10. Performance Metrics(性能指标1)

    Performance Metrics(性能指标) 在我们开始旅行本书之前,我必须先了解本书的性能指标和希望优化后的结果,在第二章中,我们探索更多的性能检测工具和性能指标,可是,您得会使用这些工具和明 ...