CI/CD 已开启 AWS - 在 AWS 上为 5G 网络提供持续集成和持续交付

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CI/CD 已开启 AWS

CI/CD 可以描绘成一个管道,其中一端提交新代码,在一系列阶段(源代码、构建、测试、暂存和生产)进行测试,然后作为生产就绪代码发布。

描绘 AWS 代码管道示例的图表

CICD 管道概述

CI/CD 管道的每个阶段都被结构化为交付过程中的一个逻辑单元。每个阶段都充当一扇门,用于审查代码的某个方面。随着代码在管道中的进展,人们假设代码的质量在后期阶段会更高,因为代码的更多方面需要继续验证。早期发现的问题使代码无法通过管道进行。测试结果将立即发送给团队,如果软件未通过测试,则所有进一步的构建和发布都将停止。

AWS 引入了一整套 CI/CD 开发人员工具,以加快软件开发和发布周期。 AWS CodePipeline每次发生代码更改时,都会根据定义的发布模型自动执行发布过程的构建、测试和部署阶段。这样可以快速、可靠地交付功能和更新。

代码管道可以与其他服务集成。这些 AWS 服务可以是诸如亚马逊简单存储服务 (Amazon S3) 之类的服务,也可以是第三方产品,例如 GitHub。 AWS CodePipeline 可以解决各种开发和运营用例,包括:

  • 使用编译、构建和测试代码 AWS CodeBuild

  • 将基于容器的应用程序持续交付到云端

  • 对网络服务或特定云原生网络功能所需的工件(例如描述符和容器映像)进行部署前验证

  • 容器化网络的功能、集成和性能测试function/virtual network function (CNF/VNF),包括基线和回归测试

  • 可靠性和灾难恢复 (DR) 测试。

描绘 AWS CICD 管道组件的示意图

AWS CICD 管道组件

AWS 可以使用以下 AWS 开发者工具设置 CI/CD 管道:

使用AWS CDK和可以自动创建 CI/CD 管道。AWS CloudFormation在 NFV 领域,这种 AWS 原生自动化可以集成到管理和编排 (MANO) 框架和 CSP 的服务编排框架中。

CI/CD 流程包括以下步骤:

  • 网络设置 — AWS CDK 并 AWS CloudFormation 启动网络先决条件的创建:

  • 基础架构部署 — AWS CDK 并 AWS CloudFormation 启动以下资源堆栈的创建:

描绘 AWS CICD 管道流的示意图。

AWS CICD 管道流程图

CI/CD 管道是使用持续交付服务构建的 AWS CodePipeline,该服务可对发布软件所需的步骤进行建模、可视化和自动化。通过在管道中定义阶段,您可以从源代码存储库中检索代码,将该源代码构建到可发布的工件中,测试构件,然后将其部署到生产环境中。只有成功通过所有这些阶段的代码才会被部署。您可以选择在管道中添加其他要求,例如手动批准,以帮助确保只有经过批准的更改才会部署到生产中。