devops的理解及CI、CD

https://gitchat.csdn.net/columnTopic/5aaa1abe0bb9e857450e7a9e

本文介绍devops理念,及CI\CD\CT的区别,其中CD包含持续部署和持续交付两种,概念容易混淆,所以在这特别整理下:

持续交付(Continuous Delivery)

持续交付和持续部署是两个非常容易混淆的概念。持续交付指的是频繁地将软件的新版本交付给 QA 测试团队或者运营团队,如果评审通过,代码就进入发布、生产阶段。

持续交付的用户是测试人员,不是开发人员。

目前,持续交付的方式一般有:

  • 源代码交付——需要将源代码下载到所需要的环境中,如 Python 的 py、Java 的 java等程序文件。但这些文件都不是标准的软件包,不利于集中管理和运行。
  • Linux 标准包交付——通过 Linux deb 或者 RPM 对项目的依赖进行管理。这种方式相对更加规范和科学,但仍然需要解决包冲突问题。同时,这种方式会经常因服务器环境差异、构建环境初始化失败等问题导致无法部署 Linux 标准包。
  • 虚拟机镜像交付——在虚拟机中安装测试软件产品成功后,直接将该虚拟机镜像(比如VMware 的 vmdk、VirtualBox 的 ova、OpenStack 的 qcow2 等镜像)进行交付、发布。显然,这种方式部署成功率接近100%,而且隔离性好。但存在着虚拟机镜像对服务器资源的消耗,同时容量较大、不够灵活等问题。
  • Docker 镜像交付——这种方式是对虚拟机镜像交付的重大改进,在保证系统隔离的同时,Docker 镜像对服务器的资源消耗更低、更加轻量。这种交付方式将成为主流趋势。

 

你可能感兴趣的:(环境)