本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于使用 Amazon SAM 部署应用程序的选项
借助 Amazon SAM,您可以手动部署应用程序,也可以自动部署。使用 Amazon SAM CLI 来手动部署应用程序。要自动执行部署,请使用管线与持续集成和持续部署(CI/CD)系统。本节中的主题提供有关这两种方法的信息。
如何使用 Amazon SAMCLI 手动部署
在本地开发和测试无服务器应用程序后,您可以使用 sam deploy 命令部署应用程序。
要让 Amazon SAM 使用提示来指导您完成部署,请指定 --guided 标记。指定此标记后,sam deploy 命令会压缩应用程序构件,将其上传到 Amazon Simple Storage Service (Amazon S3)(对于 .zip 文件存档)或 Amazon Elastic Container Registry (Amazon ECR)(对于容器映像)。此命令然后将您的应用程序部署到 Amazon 云。
示例:
# Deploy an application using prompts: sam deploy --guided
使用 CI/CD 系统和管线进行部署
Amazon SAM 可帮助您使用管线与持续集成和持续部署(CI/CD)系统自动部署。Amazon SAM 可用于创建管线,以及简化无服务器应用程序的 CI/CD 任务。多个 CI/CD 系统支持 Amazon SAM 构建容器映像,Amazon SAM 还为多个 CI/CD 系统提供了一组默认管线模板,其中纳入了 Amazon 的部署最佳实践。
有关更多信息,请参阅 使用 CI/CD 系统和管线通过 Amazon SAM 进行部署。
逐步部署
如果您想逐步部署 Amazon SAM 应用程序,而不是一次性全部部署,您可以指定 Amazon CodeDeploy 提供的部署配置。有关详细信息,请参见《Amazon CodeDeploy 用户手册》中的使用 CodeDeploy 中的部署配置。
有关配置 Amazon SAM 应用程序以进行逐步部署的信息,请参阅使用 Amazon SAM 逐步部署无服务器应用程序。
使用 Amazon SAM CLI 故障排除部署
Amazon SAM CLI错误:“未满足安全限制”
运行 sam deploy --guided 时,系统用问题 HelloWorldFunction may not have authorization defined, Is this okay? [y/N]
向您发出提示。如果您用 N
(默认选项)来回应此提示,将会出现以下错误:
Error: Security Constraints Not Satisfied
此提示告知您,您即将部署的应用程序可能在未经授权的情况下配置了 Amazon API Gateway API。用 N
来回应此提示,即表明您不同意继续部署。
要解决此问题,您具有以下选项:
-
在经授权的情况下配置应用程序。有关配置授权的更多信息,请参阅 使用 Amazon SAM 模板控制 API 访问。
-
用
Y
来回答此问题,以表明您同意部署在未经授权的情况下配置了 API Gateway API 的应用程序。
了解更多
有关部署无服务器应用程序的实际操作示例,请参阅完整 Amazon SAM 研讨会中的以下主题:
-
模块 3 - 手动部署
- 了解如何使用 Amazon SAM CLI 构建、打包和部署无服务器应用程序。 -
模块 4 - CI/CD
- 了解如何通过创建持续集成和持续交付 (CI/CD) 管道实现构建、打包和部署阶段的自动化。