登录 / 注册 Account

DevOps

什么是 CI/CD 管道?

CI/CD 管道是为了交付新版本的软件而必须执行的一系列步骤。持续集成/持续交付(CI/CD)管道是一套专注于使用 DevOps 站点可靠性工程(SRE)方法来改进软件交付的实践。

CI/CD 管道加入了监控和自动化来改进应用开发过程,尤其是在集成和测试阶段以及交付和部署过程中。尽管可以手动执行 CI/CD 管道的每个步骤,但 CI/CD 管道的真正价值在于自动化。

CI/CD 管道的要素

构成 CI/CD 管道的步骤被划分为不同的任务子集,称之为管道阶段。典型的管道阶段包括:

  • 构建 - 进行应用编译的阶段。
  • 测试 - 进行代码测试的阶段。在此阶段采用自动化可以节省时间和精力。
  • 发布 - 将应用交付到存储库的阶段。
  • 部署 - 将代码部署到生产环境中的阶段。
  • 验证与合规 - 验证版本的步骤取决于企业的需求。镜像安全性扫描工具(例如 Clair)可通过将镜像与已知漏洞(CVE) 进行比较,以此来确保镜像的质量。
     

这并不是管道阶段的完整列表。此列表只列举了一些常见阶段。具体管道会因您所在组织的要求而异。

容器与 CI/CD 管道

传统的 CI/CD 系统是为使用虚拟机的管道而设计的,但云原生应用开发却为 CI/CD 管道带来了福音。采用容器的 CI/CD 管道是什么样的?

通过使用开源 Tekton 项目,您可以构建 Kubernetes 风格的交付管道,控制微服务的完整生命周期,而无需依赖于中央团队来维护和管理持续集成服务器、插件及配置。

OpenShift 管道

OpenShift 管道是一项基于 Tekton 而构建的红帽 OpenShift 功能(Tekton 开源项目为快速创建云原生CI/CD 管道提供了相应的框架)。Tekton 是一个面向 Kubernetes 平台的 CI/CD 框架,可通过容器为您提供标准的云原生 CI/CD 体验。作为一种 Kubernetes 原生框架,Tekton 让跨多个提供商或混合环境的部署工作变得更加容易。借助于 Kubernetes 中的自定义资源定义(CRD),Tekton 使用 Kubernetes 控制平面来运行管道任务。借助于标准行业规范,Tekton 可与现有的 CI/CD工具(如 Jenkins、Jenkins X、Skaffold 和 Knative)很好地配合使用。

CI/CD 管道的构建模块

Red Hat Openshift

有助于加速部署云原生应用的容器和 Kubernetes 平台。

Red Hat Ansible Automation Platform

CI/CD 需要进行自定义编码,并且要使用多个软件数据包。作为一种开源自动化语言,红帽 Ansible 自动化平台可轻松提供上述所有功能。

巧借 CI/CD,助力您的事业持久畅行