git-研发管理:持续集成【CI】、交付、部署【CD】相关理论介绍

1、持续体系

1.1、持续集成【CI】

持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,
发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件

 

1.2、持续交付【手动】

持续交付(Continuous Delivery)是指在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部
署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。 这种方式是当前时代,公司普遍采用的方式。而且是我们推荐的。

 

1.3、持续部署【自动】

持续部署(Continuous Deployment)就是 在持续交付的基础上,把部署到生产环境的过程自动化。如果你对比持续交付流程图,持续部署就可以发现持续部署和持续交付的区别就是最终部署到生产环境是自动化的。 目前适应于
自动部署的业务还是很少的,因为项目安全和快速迭代是需要平衡的,不可能不顾虑项目安全。

 

2、交付框架

2.1、研发实施流程图

 

2.2、持续交付实施框架

上图展示的是持续交付实施框架,把持续交付分成了7大领域,并且把当前的实践状态分成了每100天交付1次和1天交付100次。
实际上在任何一个团队里,当你希望把自己的交付速度提升到每天交付一百次,那你需要从这7个领域进行规划、设计、实施,在这7个领域里我们到底在做什么,归结到底就是:解耦

 

posted @ 2023-06-08 18:14  小粉优化大师  阅读(31)  评论(0编辑  收藏  举报