Teamcity+SVN+VisualStudio在持续集成简明教程
Teamcity+SVN+VisualStudio持续集成
简明教程
一、写在最前:
1. 各组件版本号例如以下:
Teamcity(简称tc)版本号:8.1.4
SVN版本号:TortoiseSVN 1.8.7
VS版本号:VS2010. 10.0.30319.1
2. 关于CI(Continuousintegration,持续集成):
其重要性与关键性自不必多说。因为不是本文重点,因此略过。能够參考:http://en.wikipedia.org/wiki/Continuous_integration(概念) 以及
http://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software(CI工具比較)
二、安装
安装过程不细表,向导式安装。一路next就可以。只是有一个地方请注意:
1. tc对外服务port,最好不要使用80port(由于常被占用)。这里我改动为60380port
安装完成后,记住两个东西:例如以下图
a. tc的服务链接地址:http://localhost:60380 (假设是跨网訪问,在訪问时请将localhost改动为ip地址)
b. tc的工作文件夹: C:\TeamCity\buildAgent\work (tc会将代码checkout至该文件夹)
安装完成后,会自己主动打开浏览器,进入web UI页面
三、使用
1. 初次会弹出设置向导。须要注意的是在数据库设置中,尽管tc非常谦虚的推荐其它类型数据库,但从我们使用实践下来,它内部的HSQLDB数据库已经能够非常好的工作了,因此我们推荐直接使用该数据库(还省去了配置外部数据库的麻烦)。
其它设置使用默认就可以。
2. 等待web UI页面初始化完毕之后,首先注冊一个用户,然后使用该用户登录
登陆后,我们能够看到已经存在了一个tc代理server
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JlYXQzNzc5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
3. 创建project。 点击“Create project”,填写例如以下元素后,创建project
4. 创建编译配置
4.1 General Settings中点击Create build configuration
4.2 创建编译配置
4.3 创建代码管理器属性
选择VCS类型(演示样例使用的是SVN,其它代码管理软件配置类似),完毕代码管理器属性配置。(演示样例使用的IDE是VS2010,因此SVN Connection Settings属性中的URL选择的是解决方式(.sln)所在的文件夹)
配置完毕后。測试连接成功则通过。
4.4 设置成品路径
/subprj1/bin/release/win32/*.exe=> .\testsln\subprj1\release\Win32\
说明:将vs解决方式相对文件夹下(/subprj1/bin/release/win32/)的后缀名为.exe的文件,所有拷贝至.\testsln\subprj1\release\Win32\下, 一般为文件夹C:\ProgramData\JetBrains\TeamCity\system\artifacts\SilkwaySvn20140521)
4.5 设置编译步骤
点击左側的BuildSteps。然后配置执行器。(演示样例使用的是VS执行环境)
至此。能够点击右上角的Runbutton,进行集成编译測试。
然后至tc的工作文件夹下。检查编译及生成情况。(能够通过构建日志,查看tc的checkout文件夹)
4.6 设置触发器
设置触发器的目的在于根据条件自己主动进行编译及集成。
加入新触发器
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JlYXQzNzc5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
选择VCS触发器,比如勾选“Trigger a build on eachcheck-in”,能够设置为当每次有代码迁入时,均编译;其它经常使用的设置有每天定时编译等选项。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JlYXQzNzc5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
版权声明:本文博主原创文章。博客,未经同意不得转载。
Teamcity+SVN+VisualStudio在持续集成简明教程的更多相关文章
- Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建
详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...
- Jenkins + svn + maven 构建持续集成环境搭建
Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...
- Jenkins+Maven+SVN快速搭建持续集成环境
http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ...
- Jenkins+ANT+SVN快速搭建持续集成环境
伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境. 环境准备: 一台已经配置好Jenkins和Ant的机器. 项目准备: 用Ecplise建立一 ...
- Jenkins+MSbuild+SVN实现dotnet持续集成 快速搭建持续集成环境
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建dotnet持续集成环境 一.准备工作 1.系统管理-->管理插件-->可选插件中找到MS ...
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...
- (转)使用CruiseControl+SVN+ANT实现持续集成之二
1. 环境搭建 1.1. 下载及目录介绍 从官方站点http://cruisecontrol.sourceforge.net/download.html下载一份最新的 CC 压缩包,最新的版本号为2. ...
- Jenkins+svn+ant+tomcat持续集成
转载自 http://www.cnblogs.com/liuhaixia/p/7267473.html Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作.通过Jenkins+ ...
- Jenkins+Ant+SVN+Jmeter实现持续集成
一.什么是持续集成? 待补充 二.说明: 本次框架介绍中不涉及到介绍框架的构建过程,介绍如何构建环境详细的构建见前篇文章: jmeter+Jenkins持续集成(邮件通知) Jmeter+Jenki ...
随机推荐
- Python 基础-python-列表-元组-字典-集合
列表格式:name = []name = [name1, name2, name3, name4, name5] #针对列表的操作 name.index("name1")#查询指定 ...
- C#隐私信息(银行账户,身份证号码,名字)中间部分特殊字符替换(*)
最近做到一个关于银行的一个功能模块,需要将隐私信息银行账号中间部分用*代替,于是写下了,如下代码: /// <summary> /// 将传入的字符串中间部分字符替换成特殊字符 /// & ...
- hadoop 学习笔记 (十) mapreduce2.0
MapReduce的特色---不擅长的方面 >实时计算 像mysql一样,在毫秒级或者秒级内返回结果 >流式计算 Mapreduce的输入数据时静态的,不能动态变化 MapReduce自身 ...
- bzoj 3505: [Cqoi2014]数三角形 组合数学
3505: [Cqoi2014]数三角形 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 478 Solved: 293[Submit][Status ...
- [topcoder]CoinReversing
http://community.topcoder.com/stat?c=problem_statement&pm=11473&rd=14543 简单的概率题.那道题想了想就出来了.每 ...
- h.264并行解码算法分析
并行算法类型可以分为两类 Function-level Decomposition,按照功能模块进行并行 Data-level Decomposition,按照数据划分进行并行 Function-le ...
- h.264宏块与子宏块类型
宏块类型mb_type 宏块类型表示的是宏块不同的分割和编码方式,在h.264的语法结构中,宏块类型在宏块层(macroblock_layer)中用mb_type表示(请参考h.264语法结构分析中的 ...
- LED七彩变色灯的制作
LED变色灯是一种新型灯泡.它的外形与一般乳白色白炽灯泡相同,但点亮后会自动按一定的时间间隔变色.循环地发出青.黄.绿.紫.蓝.红.白色光.它适用于家庭生日派对.节日聚会.过节过年,给节日添加欢乐气氛 ...
- Android开源项目发现--- 安全篇(持续更新)
SQLCipher Sqlite加密工具 项目地址:https://github.com/sqlcipher/sqlcipher 帮助文档:http://sqlcipher.net/sqlcipher ...
- java学习面向对象之内部类
什么是面向对象内部类呢?所谓的内部类,即从字面意义上来理解的话,就是把类放到类当中. 那么内部类都有什么特点呢? 1.内部类可以访问包裹他的类的成员. 2.如果包裹他的类想访问被其包裹的类的话就得实例 ...