AWS CodeDeploy
用户指南 (API 版本 2014-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本指南中的过程支持新的控制台设计。如果您选择使用较旧版本的控制台,可以在本指南中找到许多仍然适用的概念和基本过程。要访问新控制台中的帮助,请选择信息图标。

步骤 4:部署 WordPress 应用程序

现在,您部署已上传到 Amazon S3 的示例 WordPress 应用程序修订。您可以使用 AWS CLI 或 CodeDeploy 控制台部署修订并监视部署进度。成功部署应用程序修订之后,可以检查结果。

使用 CodeDeploy 部署您的应用程序修订

使用 AWS CLI 或控制台部署您的应用程序修订。

部署您的应用程序修订 (CLI)

  1. 部署需要部署组。不过,在创建部署组之前,您需要服务角色 ARN。服务角色是 IAM 角色,该角色授予某个服务代表您执行操作的权限。在这种情况下,服务角色将为 CodeDeploy 提供访问您的 Amazon EC2 实例的权限,以扩展(读取)其 Amazon EC2 实例标签。

    您应该已经按照创建服务角色 (CLI) 中的说明创建了服务角色。要获取服务角色的 ARN,请参阅获取服务角色 ARN (CLI)

  2. 现在您已拥有此服务角色 ARN,请调用 create-deployment-group 命令,使用名为 CodeDeployDemo 的 Amazon EC2 标签和名为 CodeDeployDefault.OneAtATime 的部署配置创建一个与名为 WordPress_App 的应用程序相关联的名为 WordPress_DepGroup 的部署组:

    aws deploy create-deployment-group \ --application-name WordPress_App \ --deployment-group-name WordPress_DepGroup \ --deployment-config-name CodeDeployDefault.OneAtATime \ --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE \ --service-role-arn serviceRoleARN

    注意

    create-deployment-group 命令支持创建触发器,这些触发器导致向主题订阅者发送有关部署和实例中的指定事件的 Amazon SNS 通知。此命令还支持以下选项:自动回滚部署和设置警报以便在满足 Amazon CloudWatch 警报中的监控阈值时停止部署。本教程中未包含适用于这些操作的命令。

  3. 现在调用 create-deployment 命令,使用名为 codedeploydemobucket 的存储桶中名为 WordPressApp.zip 的应用程序修订,创建一个与名为 WordPress_App 的应用程序、名为 CodeDeployDefault.OneAtATime 的部署配置、名为 WordPress_DepGroup 的部署组关联的部署。

    aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DepGroup \ --s3-location bucket=codedeploydemobucket,bundleType=zip,key=WordPressApp.zip

部署应用程序修订(控制台)

  1. 在使用 CodeDeploy 控制台部署您的应用程序修订之前,您需要服务角色 ARN。服务角色是 IAM 角色,该角色授予某个服务代表您执行操作的权限。在这种情况下,服务角色将为 CodeDeploy 提供访问您的 Amazon EC2 实例的权限,以扩展(读取)其 Amazon EC2 实例标签。

    您应该已经按照创建服务角色(控制台) 中的说明创建了服务角色。要获取服务角色的 ARN,请参阅获取服务角色 ARN(控制台)

  2. 现在您已拥有 ARN,可以开始使用 CodeDeploy 控制台部署您的应用程序修订:

    Sign in to the AWS 管理控制台 and open the CodeDeploy console at https://console.amazonaws.cn/codedeploy.

    注意

    使用您在 CodeDeploy 入门中使用的相同账户或 IAM 用户信息登录。

  3. 在导航窗格中,展开 Deploy (部署),然后选择 Applications (应用程序)

  4. 在应用程序列表中,选择 WordPress_App

  5. 部署组选项卡中,选择创建部署组

  6. 部署组名称中,输入 WordPress_DepGroup

  7. Deployment type 下,选择 In-place deployment

  8. 环境配置中,选择 Amazon EC2 实例

  9. 中,输入 Name

  10. 中,输入 CodeDeployDemo

    注意

    在键入 CodeDeployDemo 后,匹配的实例下方应显示 1 以确认 CodeDeploy 已找到一个匹配的 Amazon EC2 实例。

  11. 部署配置中,选择 CodeDeployDefault.OneAtATime

  12. 服务角色 ARN 中,选择服务角色 ARN,然后选择创建部署组

  13. 选择 Create deployment

  14. 部署组中,选择 WordPress_DepGroup

  15. 存储库类型旁,选择我的应用程序存储在 Amazon S3 中。在修订位置中,输入您之前上传到 Amazon S3 的示例 WordPress 应用程序修订的位置。获取位置:

    1. 通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

    2. 在存储桶列表中,选择 codedeploydemobucket(或您将应用程序修订上传到的存储桶的名称)。

    3. 在对象列表中,选择 WordPressApp.zip

    4. 概述选项卡中,将链接字段的值复制到您的剪贴板。

      其内容如下所示:

      https://s3.amazonaws.com.cn/codedeploydemobucket/WordPressApp.zip

    5. 返回 CodeDeploy 控制台,在修订位置中,粘贴链接字段值。

  16. 如果文件类型列表中显示的消息告诉您无法检测文件类型,请选择 .zip

  17. (可选) 在 Deployment description 框中键入注释。

  18. 展开部署组覆盖,从部署配置中,选择 CodeDeployDefault.OneAtATime

  19. 选择开始部署。有关您新创建的部署的信息将显示在 Deployments 页上。

监控您的部署并排除故障

使用 AWS CLI 或控制台监控部署和排除部署故障。

监视您的部署并排除故障 (CLI)

  1. 针对名为 WordPress_App 的应用程序和名为 WordPress_DepGroup 的部署组调用 list-deployments 命令,以获取部署的 ID:

    aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
  2. 通过部署 ID 调用 get-deployment 命令:

    aws deploy get-deployment --deployment-id deploymentID --query 'deploymentInfo.status' --output text
  3. 该命令将返回部署的整体状态。如果成功,该值将为 Succeeded

    如果整体状态为 Failed,则您可以调用诸如 list-deployment-instancesget-deployment-instance 这样的命令来排除故障。有关更多故障排除选项,请参阅分析日志文件以调查针对实例的部署失败

监视您的部署和故障排除(控制台)

在 CodeDeploy 控制台中的部署页上,可在状态列中监视部署的状态。

要获取有关部署的详细信息(特别是在 Status 列值为 Succeeded 之外的任何值的情况下),请执行以下操作:

  1. 部署表中,选择部署名称。部署失败后,将显示描述失败原因的消息。

  2. 实例活动中,将显示有关部署的更多信息。部署失败之后,您可以确定在哪些 Amazon EC2 实例上失败以及部署在哪个步骤失败。

  3. 如果您要执行更多问题排查,则可使用与查看实例详细信息中描述方法类似的方法。您还可以分析有关 Amazon EC2 实例的部署日志文件。有关更多信息,请参阅分析日志文件以调查针对实例的部署失败

验证您的部署

部署成功后,请验证您的 WordPress 安装是否正常工作。使用 Amazon EC2 实例的公有 DNS 地址(后跟 /WordPress)以在 Web 浏览器中查看您的站点。(要获取公有 DNS 值,请在 Amazon EC2 控制台中,选择 Amazon EC2 实例,然后在描述选项卡上,查找公有 DNS 的值。)

例如,如果 Amazon EC2 实例的公有 DNS 地址为 ec2-01-234-567-890.compute-1.amazonaws.com,则您可以使用以下 URL:

http://ec2-01-234-567-890.compute-1.amazonaws.com/WordPress

当您在浏览器中查看站点时,您应看到类似于下文的 WordPress 欢迎页面:


        WordPress 欢迎页面

如果您的 Amazon EC2 实例没有添加任何 HTTP 入站规则到其安全组,则不显示 WordPress 欢迎页面。如果您看到说明服务器未响应的消息,请确保您 Amazon EC2 实例的安全组具有入站规则。有关更多信息,请参阅 添加入站规则,允许 HTTP 流量指向您的 Amazon Linux 或 RHEL Amazon EC2 实例 添加入站规则,允许 HTTP 流量指向您的 Amazon Linux 或 RHEL Amazon EC2 实例