什么是持续集成 源程序量( 六 )


说得更远一些,DevOps 建议实现管道的基础架构也会被视为代码 。也就是说,它应该自动配置、可跟踪、易于修改,并在管道发生变化时触发新一轮运行 。这可以通过将管道实现为代码来完成 。
什么是“管道即代码”?管道即代码(pipeline-as-code)是通过编写代码创建管道作业/任务的通用术语,就像开发人员编写代码一样 。它的目标是将管道实现表示为代码,以便它可以与代码一起存储、评审、跟踪,如果出现问题并且必须终止管道,则可以轻松地重建 。有几个工具允许这样做,如 Jenkins 2。
DevOps 如何影响生产软件的基础设施?传统意义上,管道中使用的各个硬件系统都有配套的软件(操作系统、应用程序、开发工具等) 。在极端情况下,每个系统都是手工设置来定制的 。这意味着当系统出现问题或需要更新时,这通常也是一项自定义任务 。这种方法违背了持续交付的基本理念,即具有易于重现和可跟踪的环境 。
多年来,很多应用被开发用于标准化交付(安装和配置)系统 。同样,虚拟机(virtual machine)被开发为模拟在其它计算机之上运行的计算机程序 。这些 VM 要有管理程序才能在底层主机系统上运行,并且它们需要自己的操作系统副本才能运行 。
后来有了 容器(container) 。容器虽然在概念上与 VM 类似,但工作方式不同 。它们只需使用一些现有的操作系统结构来划分隔离空间,而不需要运行单独的程序和操作系统的副本 。因此,它们的行为类似于 VM 以提供隔离但不需要过多的开销 。
VM 和容器是根据配置定义创建的,因此可以轻易地销毁和重建,而不会影响运行它们的主机系统 。这允许运行管道的系统也可重建 。此外,对于容器,我们可以跟踪其构建定义文件的更改 —— 就像对源代码一样 。
因此,如果遇到 VM 或容器中的问题,我们可以更容易、更快速地销毁和重建它们,而不是在当前环境尝试调试和修复 。
这也意味着对管道代码的任何更改都可以触发管道新一轮运行(通过 CI),就像对代码的更改一样 。这是 DevOps 关于基础架构的核心理念之一 。
via: http://img8888.yunnanlong.com/2023/1156/nbizrjx14l0
作者: Brent Laster 选题: lujun9972 译者: pityonline 校对: wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
点击“了解更多”可访问文内链接

推荐阅读