本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于部署应用程序的选项 AWS SAM
使用 AWS SAM,您可以手动部署应用程序,也可以自动部署。使用 AWS SAM CLI 手动部署您的应用程序。要自动执行部署,请使用管线与持续集成和持续部署(CI/CD)系统。本节中的主题提供有关这两种方法的信息。
如何使用 AWS SAM CLI 手动部署
在本地开发和测试无服务器应用程序后,您可以使用 sam deploy 命令部署应用程序。
要使用提示 AWS SAM 指导您完成部署,请指定标--guided志。指定此标记后,sam deploy 命令会压缩应用程序构件,将其上传到 Amazon Simple Storage Service (Amazon S3)(对于 .zip 文件存档)或 Amazon Elastic Container Registry (Amazon ECR)(对于容器映像)。然后,该命令会将您的应用程序部署到 AWS 云端。
示例:
# Deploy an application using prompts: sam deploy --guided
使用 CI/CD 系统和管线进行部署
AWS SAM 使用管道和持续集成和持续部署 (CI/CD) 系统帮助您实现自动部署。 AWS SAM 可用于创建管道和简化CI/CD tasks for serverless applications. Multiple CI/CD系统支持 AWS SAM 构建容器镜像, AWS SAM 还可以为多个 CI/CD 系统提供一组默认管道模板,这些模板封装了部署最佳实践 AWS。
有关更多信息,请参阅 使用 CI/CD 系统和管道进行部署 AWS SAM。
逐步部署
如果您想逐步部署 AWS SAM 应用程序,而不是一次全部部署,则可以指定 AWS CodeDeploy 提供的部署配置。有关更多信息,请参阅《AWS CodeDeploy 用户指南》 CodeDeploy中的使用部署配置。
有关将 AWS SAM 应用程序配置为逐步部署的信息,请参阅使用以下方法逐步部署无服务器应用程序 AWS SAM。
使用对部署进行故障排除 AWS SAM CLI
AWS 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
来回应此提示,即表明您不同意继续部署。
要解决此问题,您具有以下选项:
-
在经授权的情况下配置应用程序。有关配置授权的更多信息,请参阅 使用您的 AWS SAM 模板控制 API 访问权限。
-
用
Y
来回答此问题,以表明您同意部署在未经授权的情况下配置了 API Gateway API 的应用程序。
了解更多
有关部署无服务器应用程序的实际操作示例,请参阅完整 AWS SAM 研讨会中的以下内容:
-
模块 3-手动部署-
学习如何使用构建、打包和部署无服务器应用程序 AWS SAM CLI. -
模块 4 - CI/CD
- 了解如何通过创建持续集成和持续交付 (CI/CD) 管道实现构建、打包和部署阶段的自动化。