最近开始将源代码迁移到SVN,于是便考虑到如何从SVN定期获取源码,自动编译并部署以减轻工作量并提高工作效率。通过多方搜集资料并进行研究,基本实现了这个功能。对于每日构建的概念就不具体展开了,可以在各大论坛找到答案。这篇文章主要给大家介绍下CCNET(CruiseControl.NET)的安装配置过程以及针对AOS项目的构建全过程。还有很多问题点没有深入研究,欢迎大家跟帖讨论。

  CCNET主要包括两部分,一是Server用来配置项目和监视文件修改,二是WebDashboard,是显示项目信息及编译信息的WebSite。我们每次提交代码到SVN服务器后CCNET会自动从SVN服务器上获取最新代码并调用MSBuild进行自动编译。
安装前确保已经安装下列软件:
1.源代码管理工具(本文以SVN为例)
2.Web服务组件IIS
3..NET Framework2.0或更高版本
CCNET安装步骤如下:1.安装CruiseControl.NET-1.8.2.0-Setup.exe CCNET服务端。

2.安装完成后会出现此目录:,网上会说在IIS的虚拟目录下出现名为ccnet的虚拟目录。反正我的没有,没关系,手动添加一个名为ccnet的虚拟目录,物理路径就是..\CruiseControl.NET\webdashboard,端口8080,开启服务CruiseControl.NET Server,点击浏览可正常显示就OK了。
3.安装CruiseControl.NET-CCTray-1.8.2.0-Setup.exe CCNET客户端,在步骤2的网页左侧即可下载。

4.找到Server文件夹下的ccnet.config文件进行配置,整个流程都会读取这个文件中的配置信息。每个构建项目都包含触发器(triggers)、源码管理器(sourcecontrol)、构建任务(tasks)、部署发布(publishers)等,还可以配置多个project。这是我成功配置的文件,大家可以参考下:

5.这是可以运行CCNET客户端CCTray了。File->Settings->Build Projects->Add->Add Server->Connecting directly using .NET remoting->OK。这时在右边可用工程列表中将会出现ccnet.config中配置的工程名称,选中后一路点击OK即可完成配置操作。确保CCNET服务开启后,点击右下角的Start Project,CCNET将开始工作。
6.当编译后右下角出现这个图标证明编译成功。
    由于时间比较仓促,目前只是实现了从SVN获取最新代码,进行自动编译并将站点拷贝到发布目录下这些基本功能。还有一些功能,如自动部署、脚本执行、邮件通知运行结果等操作并没有深入展开。如果大家有更好的意见或建议,欢迎拍砖进行讨论。

CCNET+MSBuild+SVN实现每日构建的更多相关文章

  1. CCNET+MSBuild+SVN实时构建的优化总结

    本文不是介绍如何使用CCNET+MSBuild+SVN构建自动编译系统,相关的内容可以从很多地方获取,可以再园子里搜一下. 随着我们的SVN库日益壮大,容量达到10G,几十G 甚至更大时,我们发现自动 ...

  2. 每日构建【Daily Build Using CruiseControl.NET and MSBuild】(转载)

    在上一篇项目 管理实践教程二.源代码控制[Source Control Using VisualSVN Server and TortoiseSVN]中 我们已经讲解了如何使用TortoiseSVN和 ...

  3. 项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】

    在上一篇项目管理实践教程二.源代码控制[Source Control Using VisualSVN Server and TortoiseSVN]中我们已经讲解了如何使用TortoiseSVN和Vi ...

  4. 在.NET 环境中实现每日构建(Daily Build)--ccnet,MSBuild篇(转载)

    每日构建,对我们团队来说一个全新的概念.随着项目开发的进展,在开发过 程需要及时反馈一些BUG和功能要求的处理情况.而在这种情况下每天或隔一段时间Build一个版本,工作量还是比较大的,所以就特别有必 ...

  5. 使用Flashbuilder/Flashbuilder-plugins搭建Flex工程每日构建(自动化构建)的方法

    前段时间研究flex工程自动编译的时候,遇到了阻碍,就放下了,直到今天每日构建的问题又一次给项目组带来了麻烦,于是我彻底愤怒了. 最后,我的怒火没有白费,写出来以发泄情绪. [基本原理]: adobe ...

  6. Jenkins+MSbuild+SVN实现快速搭建.net持续集成环境(构建、编辑、部署到服务器)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建.net持续集成环境 Jenkins和SVN安装这里就不介绍了 一.准备工作 1.Jenkins中系统 ...

  7. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

  8. Windows Server配置Jenkins,实现监测SVN提交自动构建.net4.5的项目

    1,持续集成 概念:http://baike.baidu.com/view/5253255.htm,对于大多数人而言,自动构建/自动测试/自动部署,已经很发挥它的价值了.选择上: 推荐jenkins, ...

  9. Jenkins+MSbuild+SVN实现dotnet持续集成 快速搭建持续集成环境

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建dotnet持续集成环境 一.准备工作 1.系统管理-->管理插件-->可选插件中找到MS ...

随机推荐

  1. php获取实时汇率数据

    支付时常常会用到支付汇率,但汇率数据是实时的,没办法首先设定好,为避免亏损,只能做到实时的了,先推荐个php函数,能实时获取汇率数据.需要curl模块支持. function getExchangeR ...

  2. [Android] 升级了新的android studio之后 发生如下的报错,The following classes could not be instantiated:

    The following classes could not be instantiated:- android.support.v4.widget.DrawerLayout (Open Class ...

  3. Spring中scope作用域

    scope作用域: 1.prototype 2.request      3.session 4.singleton 5.global session 1.prototype(多例) prototyp ...

  4. 【RabbitMQ】Publish/Subscribe

    Publish/Subscribe 在上一节我们创建了一个work queue.背后的设想为每个任务被分发给明确的消费者.这节内容我们将做一些完全不同的事情 -- 我们将发送一条消息给多个消费者.这种 ...

  5. Apache Spark技术实战之9 -- 日志级别修改

    摘要 在学习使用Spark的过程中,总是想对内部运行过程作深入的了解,其中DEBUG和TRACE级别的日志可以为我们提供详细和有用的信息,那么如何进行合理设置呢,不复杂但也绝不是将一个INFO换为TR ...

  6. vi 技巧和诀窍~转IBM

    复合搜索 1 #!/bin/ksh 2 # 3 echo "Starting" 4 file=${1} 5 6 echo ${file} 7 8 if [[ ${file} = 1 ...

  7. VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法(转自网络)

    最近开始使用VS2010,在引用COM组件的时候,出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示.查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入 ...

  8. sublime通用快捷键 汉化 安装 插件

    Ctrl+Alt+P     切换项目 1.Ctrl+Shift+P     打开Package Control     Ctrl + Shift + P ,输入View, 选择Toogle Tabs ...

  9. PerformSelector

    PerformSelector 1. 执行和取消 //执行 [self performSelector:@selector(showMessage) withObject:nil afterDelay ...

  10. Error of "Please Check for Sufficient Write File Permissions"

    The error message “Please check for sufficient write file permissions” is generated by the Web-based ...