通过红帽 Ansible 自动化平台简化 CI/CD 管道

数字世界运行在应用之上

现代化业务离不开应用。事实上,62% 的企业认为,应用对其业务至关重要,还有 36% 的企业认为,通过应用提升了竞争优势2。快速可靠的应用开发是在数字世界取得成功的关键。持续集成/持续部署(CI/ CD)方法可帮助您实现快速构建、测试,最终交付高质量应用。 

CI/CD 在整个应用生命周期(从集成和测试阶段到交付和部署)中应用自动化,快速生产经过测试和验证的应用。该方法包含两种截然不同但又息息相关的功能:

  • 持续集成(CI)可以帮助开发人员快速验证功能,并频繁地将代码变更合并到共享分支中。然后通过自动构建应用,运行不同级别的自动化测试(通常是单元和集成测试)来验证合并的代码变更,以确保这些变更可以运行。如果测试发现新代码和现有代码之间存在冲突,CI 可以更轻松、更快速地修复这些错误。 
  • 持续部署(CD)可自动化将应用发布到生产环境的流程。在生产之前的开发管道阶段,很少有手动部署门控,因此 CD 在很大程度上依赖于精心设计的测试自动化。因此,如果开发人员对云应用的更改能够通过所有的自动化测试,则这些更改可在编写后的几分钟内正式生效。CD 使得持续接收和整合用户反馈变得更加容易。 

CI 和 CD 实践一同使用,您便可以小而频繁地发布应用变更,使应用部署更加可靠。您可以将 CI/CD 应用于企业内的多个组件和资产,包括应用、平台、基础架构、网络和自动化代码。

自动化是 CI/CD 管道的核心

根据定义,CI/CD 管道需要自动化。虽然可以手动执行开发工作流中的每个步骤,但是自动化可以将 CI/CD 管道的价值最大化。自动化能够确保整个开发、测试和生产环境及流程中的一致性,帮助您构建更加可靠的管道。即便如此,您所选择的自动化技术还是会影响管道的效用。理想的自动化技术包括以下这些关键特性和功能:

  • 统一的自动化平台可提高一致性,并在整个开发、测试和生产环境中帮助您实现自动化流程及内容的标准化。 
  • 简单明了的运维让更多的团队成员参与进来并做出贡献。
  • 整体简易性可推动整个企业采用自动化。
  • 与其他工具和产品集成,帮助您更轻松地对范围更广泛的任务和组件进行自动化。 
  • 借助平台的可扩展性,随着采用率的增长,您可以轻松地扩展管道容量。

借助红帽 Ansible 自动化平台自动化 CI/CD 管道

红帽® Ansible® 自动化平台是在整个企业范围内构建和运维自动化的基础。该平台包含了实现企业级自动化所需的各种工具,包括 CI/CD 管道。将简单、易读的自动化语言与可信、可组合的执行环境相结合,同时融合了以安全为重的共享和协作功能。由于不要求具备编程技能,因此您企业内的所有角色都能快速使用红帽 Ansible 自动化平台。 

借助开源基础,您几乎可以将 IT 环境中的所有内容(从服务器、网络、存储和操作系统到应用、安全流程和管理工具)连接到完整、自动化的工作流中。借助通用语言和所需状态方法,您可以对每日运维和您的 CI/CD 管道使用相同的自动化工具和内容。此外,由于红帽 Ansible 自动化平台几乎可与 IT 基础架构的各个方面配合使用,因此您可以更轻松、更快速地部署一致的开发、测试和生产环境,从而提高应用的可靠性和弹性。 

红帽 Ansible 自动化平台订阅含有访问已认证内容集和自动化中心的权限,为您带来附加价值。内容集可以简化自动化内容的管理、分发和使用。内容集还提供来自红帽和红帽认证合作伙伴的、已测试、经认证且受支持的自动化代码。自动化中心为已认证的自动化内容(包括内容集)提供了一个中央存储库。该中心为团队成员提供了一个更加安全的内容集门户,以及一个用于内部和第三方自动化内容的专用网络。

自动化 CI/CD 用例

您可以在所有 CI/CD 管道和整个企业内使用红帽 Ansible 自动化平台。

用例 1:置备

基础架构置备是整个应用运维生命周期自动化的第一步。红帽 Ansible 自动化平台可置备流行的云平台、虚拟化主机和虚拟机监控程序、网络设备和裸机服务器。引导后,您可以将节点连接到存储、将其添加到负载均衡器、应用安全补丁或执行许多其他运维任务。

置备建议

您可以在应用余下的生命周期中继续使用红帽 Ansible 自动化平台。

用例 2:配置管理

配置管理对于维护环境中的一致性、效率和安全性至关重要。通过定义所需状态的描述集,红帽 Ansible 自动化平台可帮助您管理您的基础架构。无论系统处于何种状态,红帽 Ansible 自动化平台都了解如何将其转换为所需状态,使您能够可靠地、可重复地配置 IT 基础架构。

配置管理建议

红帽 Ansible 自动化平台让您能够更简单地管理复杂环境。该平台一致、安全且可靠,可为管理员、开发人员和 IT 经理提供简单的学习曲线。

用例 3:应用部署

应用必须正确配置和部署才会有用。红帽 Ansible 自动化平台让您能够可靠、一致且简单地部署多层应用。通过一个通用系统,您可以配置所需的应用服务,同时推送应用工件。

应用部署建议

使用 Ansible 人类可读语言和所需状态描述,即使新来的团队成员也可以理解,并为部署自动化做出贡献。

用例 4:持续部署

作为应用部署的一部分,持续部署管道可帮助您更频繁地发布新的软件功能和更新,以支持现代化业务的需求。红帽 Ansible 自动化平台提供快速、可靠地新功能部署、漏洞修复和代码变更所需的多层、多步骤应用编排,同时减少在整个发布流程中进行人工干预的需求。

持续部署建议

红帽 Ansible 自动化平台让您定义和安排针对特定主机组的任务或角色,并将任务或角色分配给特定主机组。

用例 5:安全防护自动化

企业安全防护至关重要,但经常困难重重。红帽 Ansible 自动化平台可作为安全防护团队、工具和流程之间的集成层,简化安全防护运维、大规模提高安全防护并降低违规风险和成本。借助一组受支持的、以安全为中心的内容集,您可以自动化并集成不同的安全防护解决方案,以协调、统一的方式调查和响应整个企业中的威胁。

安全防护自动化建议

通用的框架和语言还能让安全防护和 IT 团队在企业内外轻松地共享设计、流程和想法。

用例 6:编排

在复杂且不同的环境中,虽然可以手动管理,但很难做到有效可靠。借助红帽 Ansible 自动化平台,您可以轻松地、可靠地、重复地编排复杂 IT 环境的方方面面,包括集群应用、地理上分散的数据中心、网络设备、云资源和数据库。使用清晰的语法和基于任务的方法,您可以定义、安排并重新使用自动化编排功能。

编排建议

您也可以通过内容集使用红帽 Ansible 自动化平台,编排其他特定领域的编排工具。

用例 7:GitOps

GitOps 工作流通过使用 Git 作为声明式基础架构和应用部署的中央存储库,提高开发效率和部署速度。红帽 Ansible 自动化平台为 GitOps 提供所需状态引擎。平台还与 Kubernetes 集成,允许您管理容器中的应用以及现有 IT 基础架构(包括网络和云服务)中的应用。Ansible 自动化 webhook 允许您从源代码控制系统接收事件,然后使用事件自动触发自动化。这样一来,便不再需要其他工具来监控存储库并在变更的同时启动自动化作业,简化 GitOps 工作流,也简化了运维。因为红帽 Ansible 自动化平台可与各种开发和部署工具配合使用,因此您可使用偏好工具及流程定制 GitOps 工作流。

GitOps 建议

借助红帽 Ansible 自动化平台,您可以跨现有平台和新平台实现应用自动化和编排,借助您当前的技能和工具过渡到云原生和基于 Kubernetes 的技术。

准备好您的 CI/CD 管道以应对未来变化

红帽 Ansible 自动化平台可帮助您适应未来的技术进步和趋势,包括 AzureDevOps、GitHub Actions、UrbanCode、TeamCity 和 ServiceNow 等流行及新兴 CI/CD 工具。例如,许多公司都采用云原生的 Kubernetes 环境以获得更多灵活性、更快速度和更多创新。红帽 Ansible 自动化平台与红帽 Kubernetes 高级集群管理集成,允许您在 CI/CD 管道中编排 Kubernetes 集群。您还可以使用人类可读的自动化语言更轻松地构建和维护红帽 OpenShift® operator。

了解更多

红帽 Ansible 自动化平台为您提供所需工具和功能,构建并集成有效的 CI/CD 管道,并在整个企业内实现自动化。借助简单易读的自动化语言,可跨组件的互操作性和以安全为中心的协作工具,您可以加速应用开发和部署。

访问 ansible.com/use-cases 了解更多内容。

Forrester Consulting 代表红帽所开展的一项委托研究。《企业开源自动化推动创新》,2020 年 7 月。

F5 Networks,“2020 年应用服务状态报告”,2020 年。