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

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

原文地址:https://www.cnblogs.com/xiaonq/p/11282082.html