正文
-
自动检查 :当软件开发团队在周期性的新增或修改后的代码后,CI 服务器能持续地获取新增或修改后签入的源代码,并可以对这些变更的代码进行质量或者编码规范的检查。常用的工具有 PMD、SonarQube、CheckStyle、FindBugs等。
-
自动构建 :CI 系统会依照预先制定的配置计划,或某一特定事件,自动检出代码,并对目标软件进行构建。这里的计划,可以是周期性的时间点,比如10分钟或者1小时构建一次,也可以根据特定事件来触发构建,比如用户主动发出构建命令,或者根据代码的变更来触发构建。构建工具可以选择 Maven 或者 Ant 等。
-
自动测试 :构建检查完成后,可以执行预先制定的一套测试规则,也可以在执行构建的过程中进行测试用例的测试,前提是项目团队采用了测试驱动开发(Test-Driven Development,TDD)。常用的测试工具,有 JUnit、JWebUnit、Selenium 等。
-
自动部署 :当自动化检查和测试成功完成,将打包软件、构件部署到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。
-
及时提醒:当上面定义的任何一个阶段进行过程中发现出错或者预设事件得到触发,都能够及时通知给相应的项目干系人来进行处理。比如,在构建过程发生了错误,CI 服务器可以邮件通知开发人员来进行修复;自动化部署完成了,CI 服务器通知会测试人员可以进行测试了,等待。除了邮件,提醒的方式可以是短信、桌面通知器,也可以是音响大喇叭。
简言之,CI 是在敏捷开发过程中,实现速度、效率、质量的软件开发实践,可以持续为用户交付可用的软件产品。更多详情可以参考《为什么我们迫切需要持续集成(Continuous Integration)》(http://www.importnew.com/24358.html)。
TeamCity 简介
正如 TeamCity 官网的自我介绍的那样,TeamCity 是一款强大的开箱机用 CI 工具(“Powerful Continuous Integration out of the box”)。其特性包括:
TeamCity 分免费专业版授权(Professional Server License)和收费企业版授权(Enterprise Server License)。两者在功能上完全一致,只是在使用的数量上会有限制,其中,免费版授权包含20 个 build configuration 以及 3 个 build agent。可以单独购买构建代理授权( Build Agent License),含1个 build agent以及10个build configuration,费用是 299美元。企业版授权在build configuration 上是无限的,可以购买3 到 100 不等的 build agent,费用大概在1999至21999美元之间。
对于试用用户或者小团队而言,Professional Server License 足够了。
使用 TeamCity 实现 CI
下面介绍下 TeamCity 的常见用法。本例使用版本为 TeamCity Professional 10.0.4。
创建项目,关联源码