微服务 九:持续交付

作者: 码道功臣 | 来源:发表于2019-05-15 18:30 被阅读69次

持续集成简介

随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。

持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。

持续集成的核心价值在于:

  • 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
  • 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
  • 持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

业界普遍认同的持续集成的原则包括:

  • 需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有 Git、CVS、Subversion 等;
  • 开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地;
  • 需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每半个小时构建一次;
  • 必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需要手动启动一次构建;
  • 持续集成系统的组成;

由此可见,一个完整的构建系统必须包括:

  • 一个自动构建过程,包括自动编译、分发、部署和测试等;
  • 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库;
  • 一个持续集成服务器。例如Jenkins就是一个配置简单和使用方便的持续集成服务器;

相关文章

  • 微服务 九:持续交付

    持续集成简介 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过...

  • 微服务的部署与发布:持续交付与持续部署微服务

    持续交付与持续部署微服务 持续集成(Continuous Integration)与持续交付(Continuous...

  • 微服务之持续交付

    微服务因为船小好调头, 可以很方便快速地更新升级, 所以它才会大行其道 理论篇 从持续集成到持续交付, 工程师一直...

  • 网易互客敏捷交付实践

    作者 | 九歌 网易智企服务端开发 敏捷开发的一个重要目标是建立持续价值交付的能力。这种能力最终必须服务于业务的创...

  • 《持续交付》 - 持续交付管理

    一 项目的生命周期 一个新的开发团队一般会经历的几个阶段: 创建期(forming):团队的初步形成,主要是团队人...

  • 微服务架构与实践(1)

    前言 过去几年中,一直从事微服务架构、DevOps以及持续交付的咨询和交付工作。 在这个过程中,感觉到虽然微服务架...

  • 微服务架构与实践(0)

    前言 过去几年中,一直从事微服务架构、DevOps以及持续交付的咨询和交付工作。 在这个过程中,感觉到虽然微服务架...

  • 敏捷交付中的自动化测试

    提到敏捷交付,我们总会说到持续集成,持续交付,持续发布,即频繁地交付产品特性。而我们都知道要实现真正的持续交付,必...

  • 谈谈敏捷交付中的自动化测试

    提到敏捷交付,我们总会说到持续集成,持续交付,持续发布,即频繁地交付产品特性。而我们都知道要实现真正的持续交付,必...

  • 微服务容器化持续交付

    一、微服务实现分布式服务架构 以springboot、springcloud为主的微服务解决方案 问题一:为什么用...

网友评论

    本文标题:微服务 九:持续交付

    本文链接:https://www.haomeiwen.com/subject/zgemaqtx.html