cd的元素及意思解释 cd是什么( 五 )


持续交付如何与运维开发相交?持续交付管道是几个 DevOps 理念的实现 。 产品开发的后期阶段(如打包和部署)始终可以在管道的每次运行中完成 , 而不是等待产品开发周期中的特定时间 。 同样 , 从开发到部署过程中 , 开发和运维都可以清楚地看到事情何时起作用 , 何时不起作用 。 要使持续交付管道循环成功 , 不仅要通过与开发相关的流程 , 还要通过与运维相关的流程 。
说得更远一些 , DevOps 建议实现管道的基础架构也会被视为代码 。 也就是说 , 它应该自动配置、可跟踪、易于修改 , 并在管道发生变化时触发新一轮运行 。 这可以通过将管道实现为代码来完成 。
什么是“管道即代码”?管道即代码(pipeline-as-code)是通过编写代码创建管道作业/任务的通用术语 , 就像开发人员编写代码一样 。 它的目标是将管道实现表示为代码 , 以便它可以与代码一起存储、评审、跟踪 , 如果出现问题并且必须终止管道 , 则可以轻松地重建 。 有几个工具允许这样做 , 如 Jenkins 2 。
DevOps 如何影响生产软件的基础设施?传统意义上 , 管道中使用的各个硬件系统都有配套的软件(操作系统、应用程序、开发工具等) 。 在极端情况下 , 每个系统都是手工设置来定制的 。 这意味着当系统出现问题或需要更新时 , 这通常也是一项自定义任务 。 这种方法违背了持续交付的基本理念 , 即具有易于重现和可跟踪的环境 。
多年来 , 很多应用被开发用于标准化交付(安装和配置)系统 。 同样 , 虚拟机(virtual machine)被开发为模拟在其它计算机之上运行的计算机程序 。 这些 VM 要有管理程序才能在底层主机系统上运行 , 并且它们需要自己的操作系统副本才能运行 。
后来有了 容器(container) 。 容器虽然在概念上与 VM 类似 , 但工作方式不同 。 它们只需使用一些现有的操作系统结构来划分隔离空间 , 而不需要运行单独的程序和操作系统的副本 。 因此 , 它们的行为类似于 VM 以提供隔离但不需要过多的开销 。
VM 和容器是根据配置定义创建的 , 因此可以轻易地销毁和重建 , 而不会影响运行它们的主机系统 。 这允许运行管道的系统也可重建 。 此外 , 对于容器 , 我们可以跟踪其构建定义文件的更改 —— 就像对源代码一样 。
因此 , 如果遇到 VM 或容器中的问题 , 我们可以更容易、更快速地销毁和重建它们 , 而不是在当前环境尝试调试和修复 。
【cd的元素及意思解释 cd是什么】这也意味着对管道代码的任何更改都可以触发管道新一轮运行(通过 CI) , 就像对代码的更改一样 。 这是 DevOps 关于基础架构的核心理念之一 。

推荐阅读