什么是 CI/CD 管道?
持续集成和持续部署(CI/CD)管道是指开发人员为交付软件的新版本而必须遵循的一系列既定步骤。CI/CD 管道是一种实践,主要是通过自动化在整个软件开发生命周期改进软件交付。
通过在软件开发生命周期的开发、测试、生产和监控阶段实现 CI/CD 的自动化,团队能够更快且更安全地开发更高质量的代码。自动化测试还能在软件开发生命周期的早期发现依赖项及其他问题,从而节省后期时间。虽然可以手动执行 CI/CD 管道的每个步骤,但自动化才能体现出 CI/CD 管道的真正价值。
CI/CD 管道可为使用虚拟机和基于容器的云原生应用的软件企业组织带来显著优势。由于能够更快地集成代码的更新和变更,因此,团队可以频繁且高效地响应用户反馈和业务变更,从而为最终用户带来积极影响。
CI/CD 管道与 DevOps 有何关系?
CI/CD 管道可简化和加快软件开发,是 DevOps 方法的一种体现,包含可促进开发人员和 IT 运维团队相互协作的一系列理念和实践。
CI/CD 中的 CI 是指持续集成,包括代码的构建、测试和合并。CD 是指持续交付,包括自动将软件发布到存储库。CD 也可以表示持续部署,它增加了将软件自动部署到生产环境中这一步骤。
CI/CD 管道通过构建、测试和部署代码的流程引导软件开发流程。通过将 CI/CD 流程自动化,开发和运维团队可最大限度地减少人为错误,并保持软件发布过程的一致性。管道可包含用于编译代码、单元测试、代码分析、安全防护和二进制文件创建的工具。在容器化环境中,管道还包含用于将代码打包至容器镜像以跨混合云部署的工具。
CI/CD 和 DevOps 均侧重于代码集成流程的自动化,以加快在生产环境使某个想法(例如某项新功能、功能增强请求或 bug 修复)从开发阶段进入部署阶段,从而为用户带来价值。经常在标准开发环境中编写代码的开发人员可与 IT 运维人员密切合作,加快软件的构建、测试和发布,同时保证可靠性。
红帽资源
什么是 Tekton?
Tekton 是一个基于 Knative 的框架,可快速创建云原生 CI/CD 管道。Tekton 是 Kubernetes 原生框架,可让跨多云提供商或混合云环境的部署工作变得更加简单。
Tekton 允许通过使用 Kubernetes 中的自定义资源定义(CRD)在多个管道上重复使用组件。Tekton 通过 Kubernetes 控制平面来运行管道任务。通过使用标准的行业规范,Tekton 可与现有 CI/CD 工具(例如 Knative 和 OpenShift)很好地协作。
通过使用 Tekton 项目,您可以构建 Kubernetes 风格的交付管道,控制微服务的完整生命周期,无需依赖于中心团队来维护和管理持续集成服务器、插件及配置。
CI/CD 管道如何实现安全防护?
如果没有适当的安全防护,快速的开发和部署过程可能会使企业组织面临风险。常见风险包括向外部泄露敏感数据、采用不安全的代码或第三方组件,或源代码存储库或构建工具受到未经授权的访问。
CI/CD 管道中的自动检查和测试有助于保护代码并防止软件交付中出现漏洞。将安全防护融入管道有助于保护代码免遭攻击,防止数据泄露,确保符合政策规定,并保证质量。识别和缓解开发周期中的漏洞,可在部署到生产环境之前确保代码更改经过全面测试且遵循安全防护标准。
什么是红帽 OpenShift Pipelines?
红帽® OpenShift® Pipelines 是一种 Kubernetes 原生解决方案,在 Tekton 的基础上构建而成,可与 OpenShift 及红帽开发人员工具紧密集成。 管理员和开发人员可以根据其企业组织独特的业务和安全防护要求为应用创建管道蓝图。
OpenShift Pipelines 可在其自有容器中执行管道的每个步骤,使得每个步骤可独立扩展以满足管道需求。
OpenShift Pipelines 包含在 OpenShift 订阅中,与 OpenShift 控制台原生集成,开发人员能够直接随应用配置和执行管道。
红帽 OpenShift Pipelines 功能
Kubernetes 原生管道
使用标准的 Tekton 自定义资源定义(CRD)来定义作为容器运行的管道,并按需扩展。
无服务器运行
完全掌控您的团队的交付管道、插件和访问权限控制,无中央 CI/CD 服务器需要管理。
集成式 CI/CD 体验
通过红帽 OpenShift 控制台的开发人员视角(包括 Pipeline Builder 可视化界面)、命令行界面和集成开发环境简化用户体验。
为什么选择红帽的 CI/CD 产品?
我们的专家可帮助企业组织开发所需的实践、工具和文化,从而更高效实现现有应用的现代化,并加快您的云原生应用的开发之旅。
通过与红帽 OpenShift Pipelines 结合使用,红帽 OpenShift 可以帮助企业组织提高开发人员的工作效率,实现 CI/CD 管道的自动化,提前实施安全防护,并将安全防护贯彻落实到整个开发周期。
红帽 OpenShift GitOpsOperator 可提供与 Git 存储库、持续集成/持续交付(CI/CD)工具和 Kubernetes 集成的工作流,以实现更快、更安全、可扩展的软件开发,且不会影响质量。OpenShift GitOps 使客户能够构建声明式 Git 驱动的 CD 工作流,并直接将其集成到应用开发平台。
红帽工具还有助于实现 CI/CD 安全防护。 红帽 Kubernetes 高级集群安全防护(ACS)有助于保护在所有主流云和混合云平台中运行的容器化 Kubernetes 工作负载,这些平台包括红帽 OpenShift、Amazon Elastic Kubernetes Service(EKS)、Microsoft Azure Kubernetes Service(AKS)和 Google Kubernetes Engine(GKE)。 红帽可信软件供应链提供了一套安全防护解决方案,这些解决方案专注于软件开发生命周期早期的软件组件和依赖项的安全防护,并深入构建和发布管道中,以审核并处理安全问题。这些解决方案包括:红帽可信配置文件分析器(用于管理软件物料清单(SBOM)和漏洞修复信息),以及红帽高级开发人员套件(用于整合其他开发人员工具,并提供软件工件的自动化签名、加密验证及端到端溯源追踪功能)。
为帮助实现工作流自动化,红帽 Ansible® 自动化平台包含在整个企业组织范围内实施自动化所需的所有工具,其中包括事件驱动的解决方案、分析及预构建的内容集。借助其基于 YAML 的通用语言和所需状态方法,您可为每日运维和 CI/CD 管道使用相同的自动化内容。此外,由于红帽 Ansible 自动化平台几乎可与 IT 基础架构的各个方面配合使用,因此您可以更轻松、更快速地部署一致的开发、测试和生产环境,从而提高应用的可靠性和弹性。
红帽 Ansible 自动化平台还可与红帽 Kubernetes 高级集群管理集成,使您可以在 CI/CD 管道中编排 Kubernetes 集群。您还可以使用人类可读的自动化语言更轻松地构建和维护红帽 OpenShift Operator。
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。