一、可持续集成管理

持续集成,CI:即Continuous integration。

可持续集成的概念是基于团队(小组)协作开发而提出来的,为了提高团队开发效率与降低集成风险(早发现,早解决。晚发现,解决更麻烦<1>),各种可持续集成的管理平台应运而生,这里介绍其中一种小而实用的平台管理工具——TeamCity。

注<1>:关于其优点在这里举一个例子:

团队协作开发必不可少的需要一个版本控制工具,如svn;对于每一个版本,我们都是需要提交在服务器上的,而每次因为各自人员的工作不一致,会有一定可能造成隐式的冲突问题,最简单的例子就是:“明明在我的机子上可以编译通过啊!为什么在你机子上(update)就不行了?!”

这正是因为缺少了一个可以用来检查服务器版本的工具(当然如果会,也有专人检查),尤其到了后期,每一次提交(集成)的信息量都是非常大的,一旦服务器版本出了问题,那么对整个团队的影响是非常明显的,至少团队的开发效率降低了下来,并需要调试错误。

于是“早发现,早解决”确实是一个有效降低大风险的工作。

二、什么是TeamCity

TeamCity是一款功能强大的持续集成(Continue Integration)工具,包括服务器端和客户端,目前支持Java,.Net项目开发。 TeamCity提供一系列特性可以让团队快速实现持续继承:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等,所有的这些,都是 让你的团队快速享有持续继承带来的效率提升、高质量的软件保障。

三、TeamCity工具入门

【不能理解csdn为什么没办法传大图上来?宽度超过了,就不显示了,不会弄,各位看不清的可以放大了看】

这里将简单介绍TeamCity环境的搭建与配置,不介绍安装过程(通常来说,每一次点下一步就可以了)。

1、首页

安装好TeamCity后,在你设定的端口中打开首页(如localhost:8001,或者服务器端口),你可以看到如下的界面,由于我的是已经有项目的首页,所以你看见的可能如下图不太一样。不过没关系,在你首次安装TeamCity之后,它的首页将会有设置向导告诉你怎样新建出你的第一个项目。

还没有找到如何新建的设置向导?没关系,请点击右上角的管理员账户,它将带领你新建出一个新的Project

2,创建一个新项目,第一步,给你的项目命名,并点击create

3,创建完项目后,可以设置配置环境了,如下图所示,我们创建一个新的编译环境。

4,非常简单的页面,需要注意的是Build counter这个属性,它会显示你使用这个project进行集成编译的次数,因此在测试完成后你可以清除掉它(置1),在今后的实际管理中根据,编译次数是一个体现团队集成完成速度的量。完成后点VCS setting。

5,VCS setting,配置你的服务器版本路径。

6,我选择svn,实际情况根据你使用的工具来选择

7,在下面配置完成你需要的属性,图比较大没截全,在最下面有一个TEST按钮,可以测试是否连接上了服务器的项目地址。

8,完成配置后,注意到现在的VCS界面和之前的不同,因为你已经创建好了一个根了,选择你配置好的根,接下来配置编译环境(Build Setup)

9,在编译环境中,我选择使用第三方编译工具——NAnt,为什么选择它等下解释。(使用NAnt,可以参考我的另一篇NAnt安装与入门

配置路径(因为配置好了VCS的root,因此可以通过choose来选择编译项目的path),配置NAnt的环境变量(安装它的位置),因个人安装位置而异

10,配置完成后,你就可以点击run了(也就是变成了第一张图首页的样子),它会在服务器上跑起来,并且提供详细的数据给你观察

11,为什么不选择使用VS自带的编译器来编译呢?原因有二:

一,你不能保证公司里每一台服务器上都安装有VS的IDE,因为VS的IDE非常“巨大”!所以有理由不在服务器上安装一个可能会对服务器造成性能影响的工具。

二,编译速度慢!VS的编译速度由于它IDE本身的“巨大”,导致运行起来很慢(因为有很多工作会同时进行,但相对的,它提供的编译数据也是最完善的)

最后上一张VSIDE编译的图与NAnt的来比较:(我们的服务器年代比较久远了),同样效果立竿见影14s对62s

来源:http://blog.csdn.net/yujunwu2525/article/details/8298413

[转]使用TeamCity对项目进行可持续集成管理(一)的更多相关文章

  1. 使用TeamCity对项目进行可持续集成管理

    使用TeamCity对项目进行可持续集成管理 一.可持续集成管理   持续集成,CI:即Continuous integration. 可持续集成的概念是基于团队(小组)协作开发而提出来的,为了提高团 ...

  2. Hudson持续集成管理平台搭建

    IP: 10.0.70.106  8G 内存 (Hudson 多 个 工程 在 同 时 构建 的情况下 比 较耗内存) 环 境: CentOS 6.5 . JDK7 注:Hudson 只是一个持续集成 ...

  3. Dubbo入门到精通学习笔记(六):持续集成管理平台之Hudson 持续集成服务器的安装配置与使用

    文章目录 安装Hudson 使用Hudson tips:自动化部署 附录:两个脚本 安装Hudson IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存) ...

  4. Dubbo入门到精通学习笔记(三):持续集成管理平台之SVN版本管理系统的安装和使用

    文章目录 持续集成管理平台介绍 持续集成介绍 持续集成管理平台的组成 持续集成实践介绍 即将学习 SVN版本管理系统的安装 安装 Subversion + Apache 安装 jsvnadmin 简单 ...

  5. 8 步搭建 Node.js + MongoDB 项目的自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这篇文章中,我们通过创建一个 Node.js + MongoDB 项目 ...

  6. Android 项目配置 gitlab-ci 持续集成

    一.项目根目录下创建一个 .gitlab-ci.yml 文件 然后在 .gitlab-ci.yml 中配置持续集成的脚本: 脚本配置详细可以看: Configuration of your jobs ...

  7. 超简单!asp.net core前后端分离项目使用gitlab-ci持续集成到IIS

    现在好多使用gitlab-ci的持续集成的教程,大部分都是发布到linux系统上的,但是目前还是有很大一部分企业使用的都是windows系统使用IIS在部署.NET应用程序.这里写一下如何使用gitl ...

  8. Dubbo入门到精通学习笔记(五):持续集成管理平台之sonarqube代码质量管理平台的介绍与安装

    文章目录 SonarQube的介绍 SonarQube的安装 安装简介 详细安装过程 详细使用过程 SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质 ...

  9. Dubbo入门到精通学习笔记(四):持续集成管理平台之Maven私有库和本地库的安装与配置

    文章目录 介绍 Maven私有库和本地库的安装与配置 Nexus安装 Nexus 配置(登录后) 介绍 如果构建的Maven项目本地仓库没有对应的依赖包,那么就会去Nexus私服去下载, 那么如果Ne ...

随机推荐

  1. Git学习笔记二--工作区和暂存区

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 简单理解: 我们使用mkdir Git在d盘下创建的文件夹,就是工作区,我们编辑readme.txt文件就是在工作区下完成的: gi ...

  2. iOS key value coding kvc在接收json数据与 model封装中的使用

    iOS key value coding  kvc在接收json数据与 model封装中的使用 使用 kvc 能够极大的简化代码工作,及以后的接口维护工作: 1:先创建MovieModel类.h和 . ...

  3. Android 蓝牙开发之A2DP基本功能

    本文主要是Android做为Audio Source端,A2DP的基本操作:包括连接.断开连接.设置优先级.获取优先级.获取A2DP连接状态.获取A2DP连接的设备列表等功能. 1.简介 Audio ...

  4. MMORPG 游戏服务器端设计

    http://www.oschina.net/question/12_22983 这里给出一种宏观把握MMORPG服务器设计的文章,适合入门,读完后对服务器端的设计能有大概的掌握,方便对感兴趣的部分进 ...

  5. 算法笔记_161:算法提高 十进制数转八进制数(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 编写函数,其功能为把一个十进制数转换为其对应的八进制数.程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数. 样例输入 9274 样 ...

  6. 算法笔记_099:蓝桥杯练习 算法提高 排列数(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 0.1.2三个数字的全排列有六种,按照字母序排列如下: 012.021.102.120.201.210 输入一个数n 求0~9十个数的全排 ...

  7. Codeforces Round #177 (Div. 2) 题解

    [前言]咦?如今怎么流行打CF了?于是当一帮大爷在执着的打div 1的时候,我偷偷的在刷div 2.至于怎么决定场次嘛.一般我报一个数字A,随便再拉一个人选一个数字B.然后開始做第A^B场.假设认为机 ...

  8. Apache Drupal URL重写【转】

    文章来源:http://www.cnblogs.com/ghj1976/archive/2010/07/19/1780844.html 在 drupal 跟目录下有个 .htaccess 文件, 这个 ...

  9. 【微信小程序】获取轮播图当前图片下标、滑动展示对应的位数、点击位数展示对应图片

    业务需求: 3个图片轮番播放,可以左右滑动,点击指示点可以切换图片  index.wxml: 这里使用小程序提供的<swiper>组件autoplay:自动播放interval:自动切换时 ...

  10. cookie存中文

    cookie存取: 存: Cookie cookie = new Cookie("title",URLEncoder.encode("标题","utf ...