1.1 持续集成、持续交付 介绍
参考博客:https://www.cnblogs.com/cay83/p/8856231.html
1、传统交付
1. 传统软件的开发与交付的周期都很漫长,从需求的分析、系统的设计、编写测试用例、系统开发、单元测试、组装测试到交付调试。
2. 每一次交付、升级,都需要提供基础的硬件、软件的环境、软件的代码、软件的文档与手册。
3. 工程师都按照之前预演过好多遍的流程,对照着系统的部署手册,一步一步的组装硬件,安装软件,稍有差池,就要按照对应的应急预案进行回滚。
2、技术工程师日常 与 痛点
1)立项,建代码库,申请资源,拉分支写代码,联调测试,发布到线上,设置监控点,质效分析和总结等等
2)这些活动存在于不同的平台,每天在不停的重复,需要不停的和各个团队沟通,不停的做研发平台和技术栈的切换
3)所以我们又回到持续交付的一个原则,如果有一件事让你感觉到痛苦,那么就尽早实现自动化。
4)梳理出规范化的玩法,采用自动化的高效手段,用技术去解决这些让我们感觉头疼的问题。
3、CI 持续集成 与 CD持续交付
注:CI/CD关注的是开发完成到成功部署这一阶段
持续集成(Continuous Integration,CI): 代码合并、构建、部署、测试都在一起,不断地执行这个过程,并对结果反馈(主要产出是一个镜像)
持续部署(Continuous Deployment,CD):加将产品部署到 测试环境、预生产环境、生产环境
持续交付(Continuous Delivery,CD): 将最终产品发布到生产环境,给用户使用
4、产品线发布流程
5、国内一些公司开发的轮子
阿里云效/codepipeline:https://www.aliyun.com/product/codepipeline
百度效率云:https://xiaolvyun.baidu.com/
普元devops平台:http://www.primeton.com/products/devops/
1111111111111111