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

步骤 2:将应用程序部署到 Auto Scaling 组

在此步骤中,您将向 Auto Scaling 组中的单个 Amazon EC2 实例部署修订。

创建部署 (CLI)

  1. 调用 create-application 命令以创建一个名为 SimpleDemoApp 的应用程序:

    aws deploy create-application --application-name SimpleDemoApp
  2. 您应该已经按照步骤 3:为 AWS CodeDeploy 创建服务角色中的说明创建了一个服务角色。该服务角色将向 AWS CodeDeploy 授予访问 Amazon EC2 实例以展开(读取)其标签的权限。您将需要服务角色 ARN。要获取服务角色 ARN,请按照获取服务角色 ARN (CLI) 中的说明操作。

  3. 现在您已拥有一个服务角色 ARN,请调用 create-deployment-group 命令,使用名为 CodeDeployDemo-AS-Group 的 Auto Scaling 组和名为 CodeDeployDefault.OneAtATime 的部署配置创建一个与名为 SimpleDemoApp 的应用程序相关联的名为 SimpleDemoDG 的部署组(具有指定的服务角色 ARN)。

    注意

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

    在本地 Linux, OS X, or Unix 计算机上:

    aws deploy create-deployment-group \ --application-name SimpleDemoApp \ --auto-scaling-groups CodeDeployDemo-AS-Group \ --deployment-group-name SimpleDemoDG \ --deployment-config-name CodeDeployDefault.OneAtATime \ --service-role-arn service-role-arn

    在本地 Windows 计算机上:

    aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefault.OneAtATime --service-role-arn service-role-arn
  4. 调用 create-deployment 命令,使用指定位置的修订创建一个与名为 SimpleDemoApp 的应用程序、名为 CodeDeployDefault.OneAtATime 的部署配置、名为 SimpleDemoDG 的部署组相关联的部署。

    对于 Amazon Linux 和 RHEL Amazon EC2 实例 (从本地 Linux, OS X, or Unix 计算机调用)

    对于 中国(北京)区域:

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=aws-codedeploy-cn-north-1,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    对于 中国 (宁夏) 区域:

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=aws-codedeploy-cn-northwest-1,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    对于 Amazon Linux 和 RHEL Amazon EC2 实例 (从本地 Windows 计算机调用)

    对于 中国(北京)区域:

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=aws-codedeploy-cn-north-1,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    对于 中国 (宁夏) 区域:

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=aws-codedeploy-cn-northwest-1,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    对于 Windows Server Amazon EC2 实例 (从本地 Linux, OS X, or Unix 计算机调用)

    对于 中国(北京)区域:

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=aws-codedeploy-cn-north-1,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    对于 中国 (宁夏) 区域:

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=aws-codedeploy-cn-northwest-1,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    对于 Windows Server Amazon EC2 实例 (从本地 Windows 计算机调用)

    对于 中国(北京)区域:

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=aws-codedeploy-cn-north-1,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    对于 中国 (宁夏) 区域:

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=aws-codedeploy-cn-northwest-1,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    注意

    目前,AWS CodeDeploy 不提供要部署到 Ubuntu Server Amazon EC2 实例的示例修订。要自己创建修订,请参阅使用 AWS CodeDeploy 的应用程序修订

  5. 调用 get-deployment 命令以确保部署已成功。

    在调用此命令之前,您需要应该已经通过调用 create-deployment 命令返回的部署 ID。如果您需要重新获取部署 ID,请对名为 SimpleDemoApp 的应用程序和名为 SimpleDemoDG 的部署组调用 list-deployments 命令:

    aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query "deployments" --output text

    现在,请使用部署 ID 调用 get-deployment 命令:

    aws deploy get-deployment --deployment-id deployment-id --query "deploymentInfo.status" --output text

    请在返回的值为 Succeeded 之后继续。

创建部署(控制台)

  1. 您应该已经按照步骤 3:为 AWS CodeDeploy 创建服务角色中的说明创建了一个服务角色。该服务角色将向 AWS CodeDeploy 授予访问您的实例以展开(读取)其标签的权限。在使用 AWS CodeDeploy 控制台部署应用程序修订之前,您需要服务角色 ARN。要获取服务角色 ARN,请按照获取服务角色 ARN(控制台) 中的说明操作。

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

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

    注意

    Sign in with the same account or IAM user information you used in AWS CodeDeploy 入门.

  3. 如果未显示 Applications 页,请在 AWS CodeDeploy 菜单上选择 Applications

  4. 选择 Create application

  5. Application name 框中,键入 SimpleDemoApp

  6. Deployment group name 框中,键入 SimpleDemoDG

  7. Environment configuration 中的 Auto Scaling groups 选项卡上,键入 CodeDeployDemo-AS-Group

  8. Deployment configuration 下拉列表中,选择 CodeDeployDefault.OneAtATime

  9. Service role ARN 下拉列表中,选择服务角色 ARN。

  10. 选择 Create application

  11. Application details 页上的 Deployment groups 区域中,选择 SimpleDemoDG 旁的箭头以查看部署组详细信息。

  12. 选择 SimpleDemoDG 旁的按钮。在 Actions 菜单中,选择 Deploy new revision

  13. Repository type 区域中,选择 My application is stored in Amazon S3,然后在 Revision location 框中,键入您的操作系统和区域的示例应用程序的位置。

    对于 Amazon Linux 和 RHEL Amazon EC2 实例

    对于 中国(北京)区域:

    https://s3.cn-north-1.amazonaws.com.cn/aws-codedeploy-cn-north-1/samples/latest/SampleApp_Linux.zip

    对于 中国 (宁夏) 区域:

    https://s3.cn-northwest-1.amazonaws.com.cn/aws-codedeploy-cn-northwest-1/samples/latest/SampleApp_Linux.zip

    对于 Windows Server Amazon EC2 实例

    对于 中国(北京)区域:

    https://s3.cn-north-1.amazonaws.com.cn/aws-codedeploy-cn-north-1/samples/latest/SampleApp_Windows.zip

    对于 中国 (宁夏) 区域:

    https://s3.cn-northwest-1.amazonaws.com.cn/aws-codedeploy-cn-northwest-1/samples/latest/SampleApp_Windows.zip

    对于 Ubuntu Server Amazon EC2 实例

    键入存储在 Amazon S3 中的自定义应用程序修订的位置。

  14. Deployment description 框留空。

  15. Deployment configuration 下拉列表中选定 CodeDeployDefault.OneAtATime 的情况下,选择 Deploy

    注意

    要更新部署的当前状态,请刷新浏览器中的页面。

    如果显示 Failed 而非 Succeeded,则您可能需要尝试监控您的部署并排除故障(使用应用程序名称 SimpleDemoApp 和部署组名称 SimpleDemoDG)中的一些技术。