最近开始将源代码迁移到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. Leetcode Substring with Concatenation of All Words

    You are given a string, S, and a list of words, L, that are all of the same length. Find all startin ...

  2. Excel大批量导入数据到SQLServer数据库-万条只用1秒

    private string ExcelToStudent() { /*---*/ var preStr = DateTime.Now.ToString("yyyyMMddHHmmssfff ...

  3. Browsersync — 省时的浏览器同步测试工具

    Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试. ...

  4. scala shuffle

    val arr = (0 to 100).map(_ * 1d) /// 下面这一步只能用to不能用until,scala里面实现返回的两个Range继承路径不同,不能混用 val a_shuffle ...

  5. 201301 JAVA题目0-1级

    描述 编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回 ...

  6. 20145205 《Java程序设计》第6周学习总结

    教材学习内容总结 -若要将数据从来源中取出,可以使用输入串流:若要将数据写入目的地,可以使用输出串流.在java中,输入串流代表对象为java.in.InputStream的实例:输出串流代表对象为j ...

  7. NSDecimalNumber用于精度准确的计算

    在处理金额计算时,往往会涉及到小数,由于Double类型不准确,无法做到产品的要求.为了保证金额计算的准确性,建议使用NSDecimalNumber. 1.创建对象(常用的方法) // mantiss ...

  8. myeclipse项目上出现红色叹号

    右键选中项目:build path→configure build path (由于的我是在问题解决之后发表的博客,所以jar包上面的红色叉子不见了,只要选中红色的jar包,然后选择‘Remove’按 ...

  9. Windows 10 Build 14997中Edge浏览器已默认阻止Flash运行

    在上周末偷跑的 Windows 10 Build 14997 向我们传递了很多信息,新增了蓝光过滤器等功能,并有望装备在即将到来的 Creators Update 中.经过深入发掘,外媒发现新版系统中 ...

  10. 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程

    说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...