将代码部署至虚拟机

在本教程中,您将了解如何将应用程序代码部署至 AWS 上的虚拟机。您将使用 AWS CodeDeploy(一种自动将代码部署至 AWS 或本地服务器的服务)将代码部署至使用 Amazon EC2 创建和管理的虚拟机。 

在本教程中完成的所有操作均符合免费套餐条件。

管理 AWS 资源

登录控制台

您需要创建密钥对,以使用 Amazon EC2 访问虚拟机。 如果已经有密钥对,请跳至第 2 步。


a.单击此处之后,AWS 管理控制台将在新的浏览器窗口中打开,因此您可以使本分步指南保持打开状态。 单击 Create Key Pair(创建密钥对)。

tmt-codeDeploy-20

(单击可缩放)

tmt-codeDeploy-20

b. 为您的密钥对命名。 在本教程中,我们将其命名为 MyFirstKey 。单击 Create(创建)。

注意:Amazon EC2 使用公有密钥密码加密和解密登录信息。要了解有关密钥对的更多信息,请参阅 Amazon EC2 密钥对

tmt-codeDeploy-19

(单击可缩放)

tmt-codeDeploy-19

a.单击 AWS 管理控制台左上角的主页图标。 找到 Developer Tools(开发人员工具)下面的 CodeDeploy,然后单击以打开 AWS CodeDeploy 控制台。

tmt-codeDeploy-0

(单击可缩放)

tmt-codeDeploy-0

b.在 AWS CodeDeploy 控制台中,单击 Get Started Now(立即开始使用)。

如果您已经有应用程序,请找到合适的列,然后单击 Create Deployment Walkthrough(创建部署演练)。

tmt-codeDeploy-1

(单击可缩放)

tmt-codeDeploy-1

c.选择 Sample Deployment(示例部署),然后单击 Next Step(下一步)。

tmt-codeDeploy-2

(单击可缩放)

tmt-codeDeploy-2

您需要启动一个 AWS 虚拟机来部署代码。 AWS 虚拟机也称为 Amazon EC2 实例,或简称“实例”。在本步骤中,我们将使用预配置的 EC2 模板启动三个 EC2 实例。

a.单击 AWS 管理控制台左上角的主页图标。 找到 Developer Tools(开发人员工具)下面的 CodeDeploy,然后单击以打开 AWS CodeDeploy 控制台。

tmt-codeDeploy-0

(单击可缩放)

tmt-codeDeploy-0

您将使用以下选项配置实例设置:

  • 操作系统:您可以选择 EC2 实例的操作系统。 在本教程中,我们将使用 Amazon Linux。 
  • 实例类型:在本教程中,t1.micro 实例的类型已经选择为默认值,以确保在免费套餐范围内。Amazon EC2 提供多种经过优化,适用于不同使用案例的实例类型以供选择。实例类型由 CPU、内存、存储和网络容量组成不同的组合,可让您灵活地为您的应用程序选择适当的资源组合。 
  • Key Pair Name(密钥对名称):从下拉列表中,选择您在第 1 步中创建的 Amazon EC2 实例密钥对 MyFirstKey,以连接到 Amazon EC2 实例。您也可以选择已有的密钥对。 
  • Tag Key and Value(标签健和值):AWS CodeDeploy 将在部署期间使用此标签键和值来查找实例。您可以保留默认值。

单击 Launch Instances(启动实例)。

注意:该步骤可能需要几分钟才能完成。 在等待过程中,您可以观看以下视频随时回顾本教程:

codeDeploy_video
2:10
AWS CodeDeploy 演练
tmt-codeDeploy-4

(单击可缩放)

tmt-codeDeploy-4

AWS CodeDeploy 在代码部署期间使用应用程序名称以确保引用的部署组件正确,如部署组、部署配置和应用程序修订版。


a.在 Application Name(应用程序名称)框中,输入 HelloWorld 作为示例应用程序的名称,然后单击 Next Step(下一步)。

tmt-codeDeploy-5

(单击可缩放)

tmt-codeDeploy-5

b.查看应用程序修订版信息,比如其位置和描述。

注意:您可以选择下载示例数据包。在此视图中,您可以查看要部署到 EC2 的应用程序修订版信息。应用程序修订版是包含源内容(如源代码、网页、可执行文件和部署脚本)以及应用程序规范文件(AppSpec文件)的存档文件。AppSpec 文件可帮助 CodeDeploy 将修订版中的源文件映射到其目标,并在部署的各个阶段运行脚本。

单击 Next Step(下一步)。

tmt-codeDeploy-7

(单击可缩放)

tmt-codeDeploy-7

部署组是 CodeDeploy 用于部署修订版的一组单独 EC2 实例。部署组中包含单独标记的实例和/或 Auto Scaling 组中的 Amazon EC2 实例。


在“Deployment Group Name”(部署组名称)框中,保留建议的部署组名称 (DemoFleet)。

然后,您将在 Seach by Amazon EC2 Tags(按 Amazon EC2 标签搜索)部分中输入键值对,以指定要部署的 Amazon EC2 实例:

  • 应使用第 3 步中的值自动填充列。
  • 实例列显示了您将要部署代码的目标 EC2 实例的数量。 在本教程中,我们已经启动和预配置了三个 EC2 实例,并且这些实例已经被标记在一起组成了一个部署组。

选择下一步

tmt-codeDeploy-8

(单击可缩放)

tmt-codeDeploy-8

在此步骤中,您将授予 AWS CodeDeploy 向实例进行部署的权限。要向服务(如 Amazon EC2 或 AWS CodeDeploy)授予权限时,请创建适用于 AWS 服务的角色。这些服务可以访问 AWS 资源,因此您可创建角色以确定允许服务对这些资源执行的操作。


Service Role(服务角色):选择 Create a new service role(创建新的服务角色)。 如果已经有服务角色,您可以选择 Use an existing service role(使用现有服务角色)。

Role Name(角色名称):您可以接受默认值 CodeDeploy_HelloWorld。 如果使用现有服务角色,请从“Role Name”(角色名称)下拉列表中选择。

单击 Next Step(下一步)。

tmt-codeDeploy-9

(单击可缩放)

tmt-codeDeploy-9

在本步骤中,我们将选择部署配置,然后启动三个 EC2 实例的部署。本步骤结束后,我们将成功部署一个正在运行的活动网站,并且可以在线访问。


a.部署配置可让您确定同时将应用程序修订版部署到多少个实例,并描述部署是成功还是失败。 例如,使用默认配置“One at a Time”(一次一个),如果您要将应用程序部署到 3 个实例,该配置将每次部署到一个实例。

接受 Default Deployment Configuration(默认部署配置),然后单击 Next Step(下一步)。

tmt-codeDeploy-10

(单击可缩放)

tmt-codeDeploy-10

b.查看部署的详细信息,然后单击 Deploy Now(立即部署)。

注意:这可能需要几分钟时间才能完成。

tmt-codeDeploy-11

(单击可缩放)

tmt-codeDeploy-11

c. 我们的示例修订版为每个实例部署一个网页。三个实例都部署完毕后,单击 View All Instances(查看所有实例)。

tmt-codeDeploy-14

(单击可缩放)

tmt-codeDeploy-14

d. 单击您部署到的其中一个实例的实例 ID。此操作会将您带到 EC2 控制面板,您可以在这里查看启动的实例。

tmt-codeDeploy-15

(单击可缩放)

tmt-codeDeploy-15

e.要验证您的示例应用程序是否部署成功,请复制底部面板“Public DNS”(公有 DNS)字段中的地址,将该地址粘贴到浏览器中,您将看到活动网页。

tmt-codeDeploy-21

(单击可缩放)

tmt-codeDeploy-21

为避免今后收费,您必须清除本教程中使用的资源。除非终止,否则您在本教程中启动的 EC2 实例将一直运行。


a.在 EC2 控制台中,搜索栏会自动填充“实例 ID”搜索筛选条件。 删除此筛选条件,您将看到 CodeDeploy 启动的所有实例。 

tmt-codeDeploy-16a

(单击可缩放)

tmt-codeDeploy-16a

b.选中要终止的每个 Amazon EC2 实例对应的框。依次选择“Actions”(操作)、“Instance State”(实例状态),然后单击 Terminate(终止)。

出现提示时,单击 Yes, Terminate(是,请终止)。

tmt-codeDeploy-18a

(单击可缩放)

tmt-codeDeploy-18a

您已经使用 AWS CodeDeploy 成功创建并完成了到 Amazon EC2 实例的第一个代码部署。通过使用提供的模板,您首先启动了三个预配置了适当标签的实例,并安装了使用 AWS CodeDeploy 所需的代理。最后,您准备了用于部署的应用程序,授予了 CodeDeploy 部署到实例的权限,然后成功部署了代码。

现在,您已经使用 AWS CodeDeploy 完成了到 Amazon EC2 实例的示例部署,接下来,您可以开始了解如何在自己的应用程序中使用 CodeDeploy。请访问 CodeDeploy 文档,了解如何启动 EC2 实例,然后配置实例,以便 CodeDeploy 可以向其部署代码。我们在教程中简化了这些配置步骤,以帮助您了解和体验 CodeDeploy 的工作原理。

了解如何配置 AWS CodeDeploy 实例