亚马逊AWS官方博客

通过 AWS Amplify CLI 上的 AWS Amplify 控制台来托管您的应用程序

 

您是否已试用过 AWS AmplifyAWS Amplify 控制台? 在我看来,它们提供了一种最快的方式,可在 AWS 上将新的 Web 应用程序从想法转换为原型。它们是如何起作用的? AWS Amplify 是一种用于构建现代应用程序的严谨框架,它有一个工具链,可轻松添加验证(通过 Amazon Cognito)或存储(通过 Amazon Simple Storage Service (S3))等服务,这些都是通过命令行界面实现的。AWS Amplify 控制台让连续部署和托管现代 Web 应用程序变得简单。它支持为单一页面应用程序 (SPA) 框架托管前端和后端资产,包括 React、Angular、Vue.js、Ionic 和 Ember。它还支持静态站点生成器,如 Gatsby、Eleventy、Hugo、VuePress 和 Jekyll。

在今天的发布中,除 S3Amazon CloudFront 外,AWS Amplify CLI 中可用的托管选项还包括 Amplify 控制台。通过 Amplify 控制台,您可充分利用连续部署、实时缓存失效自定义重定向等功能以及自定义域的简单配置。

初始化 Amplify 应用程序

我们来看一个简单的示例。我们现在要部署 Amazon Transcribe 的静态站点演示。我已经安装了 AWS 命令行界面 (CLI)AWS Amplify CLI。我已创建了分支并将示例代码复制到了我的本地计算机。您可在下列 gif 中看到 AWS Amplify应用程序的初始流程。(我把 gif 的速度调快了一点。可能需要几秒钟来创建您的应用程序。)

显示“amplify init”工作流的终端会话

既然我已初始化应用程序,我就能添加额外的服务。我们来通过 AWS Amplify 控制台添加部分托管。选择好要托管的 Amplify 控制台后,我就能通过基于 git 的工作流选择手动部署或连续部署。

连续部署

首先我要设置连续部署,这样对 git 存储库的变更就会触发构建和部署。

显示终端会话将 Amplify 控制台添加到 Amplify 项目中的屏幕截图

配置连续部署的工作流要求快速浏览器会话。首先我选择 git 提供商。因为分支存储库在 GitHub 上,因此我需要授权 Amplify 控制台使用我的 GitHub 账户。

Git 提供商选择的屏幕截图

授权提供商后,我接着选择用于观察变化的存储库和分支。

存储库和分支选择的屏幕截图

AWS Amplify 控制台将根据 package.json 的内容自动检测正确的构建设置。

构建设置的屏幕截图

确认设置后,将开始进行初始构建和部署。任何对所选 git 分支的更改结果都将导致额外的构建和部署。现在我要在 CLI 中完成工作流,为此我需要使用新的 Amplify 控制台应用程序的 ARN。在浏览器中,在“应用程序设置” – “通用”下,我将 ARN 复制并粘贴到我的终端并检查状态。

终端窗口的屏幕截图,显示应用程序的 ARN 已经设置

在浏览器中快速检查 URL,确认应用程序已成功部署。

屏幕截图,显示我们在这篇帖子中部署的示例应用程序

手动部署

利用 Amplify 控制台进行的手动部署也可提供一系列有用的功能。CLI 可管理前端环境,使其更容易添加测试或 dev 环境。添加 URL 重定向和重新写入或通过 HTTP Basic Auth 添加用户名/密码也很容易。

配置手动部署操作简单直接。只需设置环境名称即可。需要部署时,运行 amplify publish,就会运行项目初始化期间定义的构建脚本。生成的构件随后将自动上传。

终端窗口的屏幕截图,当中配置了手动部署

利用手动部署,您可从 CLI 直接设置多个前端环境(如 dev 和 prod)。要创建新的 dev 环境,运行 amplify env add(将其命名为 dev)然后运行 amplify publish。此操作将在 Amplify 控制台中再创建一个前端环境。要查看所有前端和后端环境,从 CLI 运行 amplify console,以打开 Amplify 控制台应用程序。

自从几个星期前第一次使用 AWS Amplify 控制台后,它已成为了我部署应用程序特别是静态站点时的首选方式。我很高兴看到使用 AWS Amplify 控制台进行托管的简易性也延伸到 Amplify CLI 当中,我希望各位也是如此。祝大家构建顺利!

– Brandon