持续集成(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,还能够快速地将重心转向软件开发中。带着低风险的发布,我们就能够更快速地响应商业需求和用户需求,这使得 运维部署 的协作更加惬意,这将为团队添砖加瓦,加快发布进程,带来商业竞争优势

参考资料


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

查看所有标签

猜你喜欢:

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

Web之困:现代Web应用安全指南

Web之困:现代Web应用安全指南

(美)Michal Zalewski / 朱筱丹 / 机械工业出版社 / 2013-10 / 69

《web之困:现代web应用安全指南》在web安全领域有“圣经”的美誉,在世界范围内被安全工作者和web从业人员广为称道,由来自google chrome浏览器团队的世界顶级黑客、国际一流安全专家撰写,是目前唯一深度探索现代web浏览器安全技术的专著。本书从浏览器设计的角度切入,以探讨浏览器的各主要特性和由此衍生出来的各种安全相关问题为主线,深入剖析了现代web浏览器的技术原理、安全机制和设计上的......一起来看看 《Web之困:现代Web应用安全指南》 这本书的介绍吧!

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

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具