首页 > 其他 > 详细

DevOps - 持续集成(Continuous Integration)

时间:2019-06-08 00:19:23      阅读:147      评论:0      收藏:0      [点我收藏+]

持续集成

持续集成(Continuous integration,简称CI)是软件的开发和发布标准流程中最重要的部分。
简单来说,就是持续不断地(一天多次)将代码合并(集成)到主干源码仓库,让产品可以快速迭代,同时保持高质量。

代码每次集成到主干之前,必须通过自动化测试,以便快速发现和定位错误。
持续集成并不能消除Bug,而是让它们非常容易发现和改正。

基本流程

  1. 签出代码:从源码管理系统里签出或者克隆最新的代码到本地开发环境
  2. 提交(commit):基于主干分支创建一个新的功能分支,并在此分支编写代码,并向仓库提交代码
  3. 测试(第1轮):代码仓库对commit操作配置了钩子(hook), 每一次提交代码都会触发自动化测试:单元测试(针对函数或模块的测试,必选)、功能测试(集成测试)、端对端测试等
  4. 构建(build):通过测试(第1轮)后,将源码转换为可以运行的实际代码,比如安装依赖,配置各种资源等
  5. 测试(第2轮):以自动化为主的全面测试,包括单元测试和集成测试,必要时做端对端测试,确保新版本的每一个更新点都必须测试到
  6. 合并:通过测试(第2轮)后,将代码更新集成到主干
  7. 回滚:如果当前版本发生问题,就回滚到上一个版本的构建结果

优点

  • 自动化验证代码变更的过程
  • 在软件开发的早期发现缺陷和与其他代码和组件的集成问题
  • 自动化测试代码,提升代码质量的提升
  • 缩短开发复杂软件的市场交付时间
  • 减少大块内容合并到主干分支的情况,避免代码合并冲突和无法预料的行为

难点

迁移遗留代码到现有CI系统,人力物力的耗费通常
在文化和组织上如果没有采用敏捷原则或DevOps的工作方式,那么很可能没有持续不断的提交,那么CI存在意义不大
随着业务增长和技术的更替,CI系统也必须随之改动,往往会导致阶段性的不稳定和人力物力的耗费

DevOps - 持续集成(Continuous Integration)

原文:https://www.cnblogs.com/anliven/p/10989521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!