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="">

版权声明:本文博主原创文章。博客,未经同意不得转载。

最新文章

  1. 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
  2. 第二课 less的学习以及移动端需要注意的问题
  3. 第一个Sprint冲刺第七天
  4. struts配置。泪奔...
  5. IOS开发基础
  6. mysql 建立表里某的个字段根据另一字段进行自增长
  7. 手游架构-REST架构
  8. PC-CSS-多浏览器支持HTML5
  9. java指令重排序的问题
  10. 在 ios 中的日期格式
  11. php代码开启缓冲的使用方法
  12. nginx for Windows
  13. JDK源码之ArrayList
  14. linux学习笔记:第二单元 UNIX和Linux操作系统概述
  15. (1).NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型
  16. python基础一 ------如何统计一个列表元素的频度
  17. python之常用模块补充
  18. elasticsearch文档-字段的mapping
  19. Android获取长按按键响应
  20. Npoi--合并单元格

热门文章

  1. Python函数式编程初级学习
  2. centos乱码问题解决
  3. linux源码“.config”文件分析
  4. 配置安装theano环境(非GPU版)
  5. ARCI--做事情的重要方法论
  6. 流形学习(manifold learning)的一些综述
  7. nodejs and socket.io and iisnode
  8. 将SALT_STACK的JOB-CACHE放到数据库中,而建库用DJANGO的ORM完成
  9. 【HDU2222】Keywords Search(AC自动机)
  10. 修改EditText的光标位置