持续集成(Continuous Integration)的基础概念

栏目: 服务器 · 发布时间: 5年前

内容简介:持续集成在频繁地进行集成时,CI可以显著地减少人工追溯和发现问题根源,因此开发者就能够将更多的精力用于开发功能特性上。所以,正如

一、持续集成的特点

  • 至少每日集成一次
  • 有助于快速解决问题
  • 不止一个过程

二、所谓持续,是至少每日集成一次

持续集成 (Continuous Integration, CI) 是一种开发实践,它要求开发者将 代码 在一日内集成到共享仓库一或多次,然后在每次集成时通过脚本自动地进行检查和校验,从而帮助团队在早期发现问题。通过常规的集成,我们可以快速地发现问题,并且更容易地定位问题

三、CI有助于快速解决问题

在频繁地进行集成时,CI可以显著地减少人工追溯和发现问题根源,因此开发者就能够将更多的精力用于开发功能特性上。所以, 持续集成 的代价是小的,而不采用 持续集成 的代价则是昂贵的。如果不采用持续集成,那么在代码集成的时候就会耗费更多的时间,并且在发现问题和解决问题的时候,这种困难可能是指数式地增长的,从而很容易导致项目延期甚至项目失败。所以, 持续集成 可以为团队代码如下的好处:

代码集成
debug

正如 ThoughtWorks 的首席科学家 Martin Fowler 所言:

持续集成并不能够摆脱Bug,但是它却显著地可以让发现和移除bug的过程变得容易

Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.

四、CI不止一个过程

CI 是由多个重要的 原则实践 支撑的:

1、重要实践

自动化测试
持续集成机器
生产环境

2、怎么做?

  • 开发者将代码拉到私人工作区
  • 开发完成后,将变更提交到仓库里
  • CI服务器 监测仓库,在有新的变更时能够触发一些行为
  • CI服务器 构建项目代码,并且运行 单元测试集成测试
  • CI服务器 发布 可部署 的测试产品
  • CI服务器 为刚刚构建完成的代码分配一个 构建版本 标签
  • CI服务器 通知团队成员构建成功了
  • 如果 构建 或者 测试 失败了, CI服务器 应该向团队成员告警
  • 团队成员尽早地修复构建中产生的问题
  • 在项目开发从始至终的过程中,继续 持续集成

3、团队职责

  • 经常提交代码
  • 禁止提交 出错的 代码
  • 禁止提交 未经测试的 代码
  • 禁止提交 构建失败的 代码
  • 提交代码后,请在系统构建完成后再离开

4、持续部署

持续部署( Continuous Deployment )和持续集成是密切相关的,它指的是将通过 自动化测试 的软件发布到 生产环境 。持续部署的提出者Jez Humble解释到:”本质上来说,它(持续部署)就是把每个好的构建发布给用户的一种实践方式“

通过采用 持续集成持续部署 ,我们不仅能够减少风险和快速地抓取bug,还能够快速地将重心转向软件开发中。带着低风险的发布,我们就能够更快速地响应商业需求和用户需求,这使得 运维部署 的协作更加惬意,这将为团队添砖加瓦,加快发布进程,带来商业竞争优势

参考资料


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python学习手册(第4版)

Python学习手册(第4版)

[美] Mark Lutz / 李军、刘红伟 / 机械工业出版社 / 2011-4 / 119.00元

Google和YouTube由于Python的高可适应性、易于维护以及适合于快速开发而采用它。如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成。 《Python学习手册:第......一起来看看 《Python学习手册(第4版)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具