

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

# 使用 CI/CD 系统和管道进行部署 AWS SAM
<a name="deploying-cicd-overview"></a>

AWS SAM 帮助组织为其首选 CI/CD 系统创建管道，以便他们可以毫不费力 CI/CD 地实现其中的好处，例如加快部署频率、缩短变更交付时间和减少部署错误。

AWS SAM 借助构建容器映像，简化无服务器应用程序的 CI/CD 任务。 AWS SAM 提供的映像包括许多受支持的 AWS Lambda 运行时的 AWS SAMCLI和构建工具。这使得使用构建和打包无服务器应用程序变得更加容易。 AWS SAMCLI这些映像还可以减轻团队为 CI/CD 系统创建和管理自己的映像的需求。有关 AWS SAM 构建容器镜像的更多信息，请参阅[的图像存储库 AWS SAM](serverless-image-repositories.md)。

多个 CI/CD 系统支持 AWS SAM 构建容器镜像。你应该使用哪种 CI/CD 系统取决于几个因素。这些因素包括：应用程序使用单个运行时系统还是多个运行时系统；您是要在容器映像中还是直接在主机（虚拟机 (VM) 或裸机主机）上构建应用程序。

AWS SAM 还为多个 CI/CD 系统提供了一组默认管道模板，这些模板封装 AWS了部署最佳实践。这些默认管道模板使用标准的 JSON/YAML 管道配置格式，内置的最佳实践有助于执行多账户和多区域部署，并验证管道不会对基础设施进行意外更改。

您可以使用两个主要选项 AWS SAM 来部署无服务器应用程序：1) 修改现有工作流配置以使用 AWS SAMCLI命令，或者 2) 生成一个示例工作 CI/CD 流配置，您可以将其用作自己应用程序的起点。

**Topics**
+ [什么是管线？](#deploying-whatis-pipeline)
+ [如何在 AWS SAM 部署时上传本地文件](deploy-upload-local-files.md)
+ [使用生成入门 CI/CD 管道 AWS SAM](serverless-generating-example-ci-cd.md)
+ [如何使用自定义入门管道 AWS SAM](serverless-customizing-starter-pipelines.md)
+ [自动部署您的 AWS SAM 应用程序](serverless-deploying-modify-pipeline.md)
+ [如何对管道使用 OIDC 身份验证 AWS SAM](deploying-with-oidc.md)

## 什么是管线？
<a name="deploying-whatis-pipeline"></a>

管线是一系列自动执行的步骤，用于发布应用程序的新版本。[借助 AWS SAM，您可以使用许多常用 CI/CD 系统来部署应用程序，包括 [AWS CodePipeline](https://aws.amazon.com/codepipeline)[Jenkins](https://www.jenkins.io/)、C [GitLab I/CD 和 Ac](https://docs.gitlab.com/ee/ci/) tions。GitHub](https://github.com/features/actions)

管道模板包括 AWS 部署最佳实践，可帮助进行多账户和多区域部署。 AWS 诸如开发和生产环境之类的环境通常存在于不同的 AWS 账户中。这允许开发团队配置安全的部署管线，而无需对基础设施进行意外更改。

您还可以提供自己的自定义管线模板，以帮助跨开发团队标准化管线。