CI(持续集成)/CD(持续交付/持续部署)

一、传统交付

1. 传统软件的开发与交付的周期都很漫长,从需求的分析、系统的设计、编写测试用例、系统开发、单元测试、组装测试到交付调试。

2. 每一次交付、升级,都需要提供基础的硬件、软件的环境、软件的代码、软件的文档与手册。

3. 工程师都按照之前预演过好多遍的流程,对照着系统的部署手册,一步一步的组装硬件,安装软件,稍有差池,就要按照对应的应急预案进行回滚。
CI(持续集成)/CD(持续交付/持续部署)
二、技术工程师日常 与 痛点

1)立项,建代码库,申请资源,拉分支写代码,联调测试,发布到线上,设置监控点,质效分析和总结等等

2)这些活动存在于不同的平台,每天在不停的重复,需要不停的和各个团队沟通,不停的做研发平台和技术栈的切换

3)所以我们又回到持续交付的一个原则,如果有一件事让你感觉到痛苦,那么就尽早实现自动化。

4)梳理出规范化的玩法,采用自动化的高效手段,用技术去解决这些让我们感觉头疼的问题。
CI(持续集成)/CD(持续交付/持续部署)
三、CI 持续集成 与 CD持续交付
注:CI/CD关注的是开发完成到成功部署这一阶段

持续集成(Continuous Integration,CI): 代码合并、构建、部署、测试都在一起,不断地执行这个过程,并对结果反馈(主要产出是一个镜像)

持续部署(Continuous Deployment,CD):加将产品部署到 测试环境、预生产环境、生产环境

持续交付(Continuous Delivery,CD): 将最终产品发布到生产环境,给用户使用
CI(持续集成)/CD(持续交付/持续部署)
四、产品线发布流程
CI(持续集成)/CD(持续交付/持续部署)
五、国内一些公司开发的*
阿里云效/codepipeline:https://www.aliyun.com/product/codepipeline

百度效率云:https://xiaolvyun.baidu.com/

普元devops平台:http://www.primeton.com/products/devops/