将代码部署至虚拟机

通过本教程,您将学习如何将应用程序代码部署至亚马逊云科技云端虚拟机中。您将借助 Amazon CodeDeploy(一种自动向亚马逊云科技或本地服务器实施代码部署的服务),将代码部署至您通过 Amazon EC2 创建和管理的虚拟机中。 

管理亚马逊云科技资源

登录控制台

您需要先创建密钥对才能通过 Amazon EC2 访问您的虚拟机。 如果您已经有一个密钥对,请跳至步骤 2。


a.单击此处时,亚马逊云科技管理控制台将在新的浏览器窗口中打开,这样您就可以使本分步指南保持打开状态。 单击 Create Key Pair(创建密钥对)。

(单击进行缩放)


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

注意:Amazon EC2 会采用公钥密码来加密和解密登录信息。如需进一步了解密钥对相关信息,请参阅Amazon EtC2 密钥对

(单击进行缩放)


a.单击亚马逊云科技管理控制台左上角的主页图标。 在 开发人员工具 项下找到 CodeDeploy,然后单击打开 Amazon CodeDeploy 控制台。

tmt-codeDeploy-0

(单击进行缩放)

tmt-codeDeploy-0

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

如果您已有应用程序,请查看右列并单击Create Deployment Walkthrough(创建部署操作步骤)

(单击进行缩放)


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

(单击进行缩放)

您需要启动一个亚马逊云科技虚拟机用于部署您的代码。亚马逊云科技虚拟机名为 Amazon EC2 实例,简称“实例”。在本步骤中,我们将使用预配置的 Amazon EC2 模板来启动三个 Amazon EC2 实例。

a.单击亚马逊云科技管理控制台左上角的主页图标。 在 开发人员工具 项下找到 CodeDeploy,然后单击打开 Amazon CodeDeploy 控制台。

tmt-codeDeploy-0

(单击进行缩放)

tmt-codeDeploy-0

您将通过以下选项配置您的实例设置:

  • 操作系统:您可选择 Amazon EC2 实例的操作系统。 在本教程中,我们将选择 Amazon Linux。 
  • 实例类型:Amazon EC2 提供了多种经过优化、可适应不同用例的实例类型供您选择。实例类型包含多种 CPU、内存、存储和网络容量,以便您针对应用程序灵活选择适当的资源搭配。 
  • 密钥对命名:从下拉列表中,选择您在步骤 1 中创建的 Amazon EC2 实例密钥对“MyFirstKey”,以连接到 Amazon EC2 实例。您还可选择既有密钥对。 
  • 标记密钥和值:Amazon CodeDeploy 将在部署过程中通过此标记密钥和值来查找实例。您可以保留默认值。

单击 Launch Instances(启动实例)。

注意:此步骤可能需要花费几分钟时间。

(单击进行缩放)

Amazon CodeDeploy 将在代码部署过程中通过应用程序名称来确保所引用的部署组件(如部署组、部署配置和应用程序版本)准确无误。


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

(单击进行缩放)


b.审查应用程序版本信息,如其位置和描述。

注意:您可选择下载示例包。在此视图中,您可审查将要部署到 Amazon EC2 上的应用程序版本信息。应用程序版本是一个包含源信息(如源代码、网页、可执行文件和部署脚本)的存档文件,附带应用程序说明文件(AppSpec 文件)。AppSpec 文件有助于 CodeDeploy 将版本中的源文件映射至目标,并在各个部署阶段运行脚本。

单击 Next Step(下一步)

(单击进行缩放)

部署组是一组独立的 Amazon EC2 实例,供 CodeDeploy 部署各个版本。部署组包含单独标记的实例,Auto Scaling 组中的 Amazon EC2 实例,或两者兼有。


在“部署组名称”方框中,保留系统建议的部署组名称 (DemoFleet)。

然后,您将通过在 Seach by Amazon EC2 Tag(按 Amazon EC2 标记搜索)部分输入“密钥-值”组来指定需要部署的 Amazon EC2 实例:

  • Key(密钥) Value(值)两列应自动填入步骤 3 中的值。
  • 实例列会显示您即将为多少个 Amazon EC2 实例部署代码。 在本教程中,我们已启动并预先配置了三个 Amazon EC2 实例,且这些实例已统一标记至同一部署组中。

选择 Next Step(下一步)

(单击进行缩放)

通过本步骤,您将授予 Amazon CodeDeploy 向您的实例实施部署的权限。当您想要向 Amazon EC2 或 Amazon CodeDeploy 等服务授予权限时,便可为亚马逊云科技服务创建角色。这些服务可访问亚马逊云科技资源,因此,您需要创建一个角色,用于确定相应服务有权操作的具体资源。


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

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

单击 Next Step(下一步)

(单击进行缩放)

在本步骤中,我们将选择一个部署配置,然后启动部署至我们的三个 Amazon EC2 实例。完成本步骤后,我们便成功部署了一个可在线访问的实时运行网站。


a.有了部署配置,您便可确定您的应用程序可同时部署至多少个实例,并描述部署的成败条件。 例如,通过默认配置(“一次一个”),如果您要将自己的应用程序部署至 3 个实例,则按照此配置您一次仅能部署一个实例。

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

(单击进行缩放)


b.查看部署详情并单击 Deploy Now(立即部署)

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

(单击进行缩放)


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

(单击进行缩放)


d. 单击您所部署的某个实例的 ID。这一步将打开 Amazon EC2 控制面板,供您查看由您启动的实例。

(单击进行缩放)


e.如需验证您的示例应用程序是否已成功部署,请复制底部面板中公共 DNS 字段中的地址,粘贴至浏览器中,如果成功,您将可以看到实时网页。

(单击进行缩放)

为避免未来收费,请务必清理您在学习本教程中所使用的资源。您在本教程中启动的 Amazon EC2 会持续运行下去,除非您自行终止。


a.在 Amazon EC2 控制台中,搜索栏会针对实例 ID 自动填入一个搜索筛选条件。 您只需删除此筛选条件,便可看到由 CodeDeploy 启动的所有实例。 

(单击进行缩放)


b.选定各个 Amazon EC2 实例的方框进行终止。选择 Actions(操作),Instance State(实例状态),然后单击Terminate(终止)

在随后的提示中,单击 Yes, Terminate(确定终止)

(单击进行缩放)

您已通过 Amazon CodeDeploy 成功创建并完成了对 Amazon EC2 实例的首次代码部署。利用所提供的模板,您首先启动了三个预先配置了正确标记的实例,并安装了为使用 Amazon CodeDeploy 所需的代理。最后,您准备了需要部署的应用程序,向 CodeDeploy 授予了实例的部署权限,然后成功执行了代码部署。

既然您已通过 Amazon CodeDeploy 完成了对 Amazon EC2 实例的示例部署,您现在可以开始学习如何在您自己的应用程序中使用 CodeDeploy 了。查看 CodeDeploy 文档,了解如何启动 Amazon EC2 实例,然后对实例进行配置,以便 CodeDeploy 可以为其部署代码。在我们的教程中,为帮助您了解和体验 CodeDeploy 的效果,我们简化了配置步骤。

了解如何配置 Amazon CodeDeploy 实例。