[转]使用TeamCity对项目进行可持续集成管理(一)
一、可持续集成管理
持续集成,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对项目进行可持续集成管理(一)的更多相关文章
- 使用TeamCity对项目进行可持续集成管理
		
使用TeamCity对项目进行可持续集成管理 一.可持续集成管理 持续集成,CI:即Continuous integration. 可持续集成的概念是基于团队(小组)协作开发而提出来的,为了提高团 ...
 - Hudson持续集成管理平台搭建
		
IP: 10.0.70.106 8G 内存 (Hudson 多 个 工程 在 同 时 构建 的情况下 比 较耗内存) 环 境: CentOS 6.5 . JDK7 注:Hudson 只是一个持续集成 ...
 - Dubbo入门到精通学习笔记(六):持续集成管理平台之Hudson 持续集成服务器的安装配置与使用
		
文章目录 安装Hudson 使用Hudson tips:自动化部署 附录:两个脚本 安装Hudson IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存) ...
 - Dubbo入门到精通学习笔记(三):持续集成管理平台之SVN版本管理系统的安装和使用
		
文章目录 持续集成管理平台介绍 持续集成介绍 持续集成管理平台的组成 持续集成实践介绍 即将学习 SVN版本管理系统的安装 安装 Subversion + Apache 安装 jsvnadmin 简单 ...
 - 8 步搭建 Node.js + MongoDB 项目的自动化持续集成
		
任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这篇文章中,我们通过创建一个 Node.js + MongoDB 项目 ...
 - Android 项目配置 gitlab-ci 持续集成
		
一.项目根目录下创建一个 .gitlab-ci.yml 文件 然后在 .gitlab-ci.yml 中配置持续集成的脚本: 脚本配置详细可以看: Configuration of your jobs ...
 - 超简单!asp.net core前后端分离项目使用gitlab-ci持续集成到IIS
		
现在好多使用gitlab-ci的持续集成的教程,大部分都是发布到linux系统上的,但是目前还是有很大一部分企业使用的都是windows系统使用IIS在部署.NET应用程序.这里写一下如何使用gitl ...
 - Dubbo入门到精通学习笔记(五):持续集成管理平台之sonarqube代码质量管理平台的介绍与安装
		
文章目录 SonarQube的介绍 SonarQube的安装 安装简介 详细安装过程 详细使用过程 SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质 ...
 - Dubbo入门到精通学习笔记(四):持续集成管理平台之Maven私有库和本地库的安装与配置
		
文章目录 介绍 Maven私有库和本地库的安装与配置 Nexus安装 Nexus 配置(登录后) 介绍 如果构建的Maven项目本地仓库没有对应的依赖包,那么就会去Nexus私服去下载, 那么如果Ne ...
 
随机推荐
- 网页图表控件Highcharts如何详细设置参数
			
在下载了Highcharts范例之后,按照如下所示第一步第二步操作.在第二步中,默认并没有提供很多参数设置,比如如何去掉右下角的水印,如何自定义图标的高度宽度,背景颜色等等. 在我的另一篇文章中(Hi ...
 - ffplay的快捷键以及选项    FFmpeg 基本用法  FFmpeg常用基本命令  ffmpeg常用转换命令,支持WAV转AMR
			
ffmpeg -i 32_mkv_h264_718x480_ac3.mkv -codec copy -bsf:v h264_mp4toannexb -f mpegts xx.ts ./ffmpeg ...
 - 更新node版本
			
步骤如下:1.查看当前的node版本 node -v 2.清除npm当前缓存信息 npm cache clean -f 3.执行下载node npm install -g n 4.下载成功后执行安装 ...
 - 【Linux】通过传入变量进行数学运算
			
一个简单的sum求和 #! /bin/bash ## For get the sum of tow numbers ## Writen by Qinys ## Date:2018-06-26 a=1 ...
 - C# 利用反射拷贝类
			
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
 - hibernate 映射实例 学生 课程 成绩
			
学生和课程是多对多,一个学生的一个课程只能对应一个成绩. 所以学生和课程多对多,其中间表多了一个成绩字段. 可以这样设计: 学生和课程通过中间表--成绩,多对多映射. 手动建中间表语句: cr ...
 - AngularJS实现简单的分页功能
			
本篇文章由:http://xinpure.com/angularjs-simple-paging-functionality/ 初学 AngularJS, 尝试着写一些小功能 代码逻辑写得略粗糙,仅仅 ...
 - hybird和js交互退出
 - jquery中ajax的相关事件汇总
			
Jquery ajax事件分类 (一) 局部事件 local events 局部事件:在单个Ajax请求对象中绑定的事件,每个 Ajax 请求对象能够依据须要绑定自己的局部事件 .局部事件仅仅会被那个 ...
 - [Android进阶]Binder学习(初始篇)
			
Android中Binder学习(初始篇) 本篇博客学习自侯亮的博客.地址为: 红茶一杯话Binder 1 什么是Binder? 简单地说.Binder是Android平台上的一种跨进程交互技术. 该 ...