

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

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

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

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

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

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

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

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

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

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

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

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