本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 2:将应用程序部署到 Auto Scaling 组
在此步骤中,您会将修订部署到 Auto Scaling 组中的单个 Amazon EC2 实例。
创建部署(CLI)
-
调用 create-application 命令以创建一个名为
SimpleDemoApp
的应用程序。aws deploy create-application --application-name SimpleDemoApp
-
您应该已经按照步骤 2:为创建服务角色 CodeDeploy中的说明创建了一个服务角色。该服务角色将 CodeDeploy 授予访问您的 Amazon EC2 实例以扩展(读取)其标签的权限。您将需要服务角色 ARN。要获取服务角色 ARN,请按照获取服务角色 ARN(CLI) 中的说明操作。
-
现在您已拥有一个服务角色 ARN,请调用 create-deployment-group 命令,使用名为
CodeDeployDemo-AS-Group
的 Auto Scaling 组和名为CodeDeployDefault.OneAtATime
的部署配置创建一个与名为SimpleDemoApp
的应用程序相关联的名为SimpleDemoDG
的部署组(具有指定的服务角色 ARN)。注意
该create-deployment-group命令支持创建触发器,从而向主题订阅者发送有关部署和实例中指定事件的 Amazon SNS 通知。该命令还支持自动回滚部署和设置警报以在满足 Amazon CloudWatch 警报中的监控阈值时停止部署的选项。本教程中不包含用于这些操作的命令。
在本地 Linux、macOS 或 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
-
调用 create-deployment 命令,使用指定位置的修订创建一个与名为
SimpleDemoApp
的应用程序、名为CodeDeployDefault.OneAtATime
的部署配置、名为SimpleDemoDG
的部署组相关联的部署。对于 Amazon Linux 和 RHEL Amazon EC2 实例,从本地 Linux、macOS 或 Unix 计算机调用
aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=
bucket-name
,bundleType=zip,key=samples/latest/SampleApp_Linux.zipb@@
ucket-nam
e 是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如,对于美国东部(俄亥俄州)区域,将bucket-name
替换为aws-codedeploy-us-east-2
。有关存储桶名称的列表,请参阅各区域的资源工具包存储桶名称。对于 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=
bucket-name
,bundleType=zip,key=samples/latest/SampleApp_Linux.zipb@@
ucket-nam
e 是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如,对于美国东部(俄亥俄州)区域,将bucket-name
替换为aws-codedeploy-us-east-2
。有关存储桶名称的列表,请参阅各区域的资源工具包存储桶名称。对于 Windows Server Amazon EC2 实例,从本地 Linux、macOS 或 Unix 计算机调用
aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=
bucket-name
,bundleType=zip,key=samples/latest/SampleApp_Windows.zipb@@
ucket-nam
e 是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如,对于美国东部(俄亥俄州)区域,将bucket-name
替换为aws-codedeploy-us-east-2
。有关存储桶名称的列表,请参阅各区域的资源工具包存储桶名称。对于 Windows Server Amazon EC2 实例,从本地 Windows 计算机调用
aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=
bucket-name
,bundleType=zip,key=samples/latest/SampleApp_Windows.zipb@@
ucket-nam
e 是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如,对于美国东部(俄亥俄州)区域,将bucket-name
替换为aws-codedeploy-us-east-2
。有关存储桶名称的列表,请参阅各区域的资源工具包存储桶名称。注意
目前, CodeDeploy 不提供部署到 Ubuntu Server Amazon EC2 实例的示例修订。要自己创建修订,请参阅正在处理的应用程序修订版 CodeDeploy。
-
调用 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
之后继续。
创建部署(控制台)
-
您应该已经按照步骤 2:为创建服务角色 CodeDeploy中的说明创建了一个服务角色。服务角色将授予访问您的实例以扩展(读取)其标签的 CodeDeploy 权限。在使用 CodeDeploy 控制台部署应用程序修订版之前,您需要服务角色 ARN。要获取服务角色 ARN,请按照获取服务角色 ARN(控制台) 中的说明操作。
-
现在您已拥有服务角色 ARN,您可以使用 CodeDeploy 控制台部署应用程序修订版。
登录 AWS Management Console 并打开 CodeDeploy 控制台,网址为 https://console.aws.amazon.com/codedeploy
。 注意
使用您在入门 CodeDeploy中设置的同一用户登录。
在导航窗格中,展开部署,然后选择应用程序。
-
选择创建应用程序。
-
选择自定义应用程序。
-
在 Application name(应用程序名称)中,输入
SimpleDemoApp
。 -
在计算平台中,选择 EC2/本地。
-
选择创建应用程序。
-
在部署组选项卡中,选择创建部署组。
-
在 Deployment group name(部署组名称)中,输入
SimpleDemoDG
。 -
在服务角色中,选择您的服务角色的名称。
-
在部署类型中,选择就地。
-
在环境配置中,选择 Auto Scaling 组,然后选择
CodeDeployDemo-AS-Group
。 -
在部署配置中,选择CodeDeployDefault。 OneAtTime。
-
清除启用负载均衡。
-
选择 Create deployment group(创建部署组)。
-
在“部署组”页面中,选择创建部署。
-
对于修订类型,选择我的应用程序存储在 Amazon S3 中。
-
在修订位置中,输入您的操作系统的示例应用程序的位置和区域。
对于 Amazon Linux 和 RHEL Amazon EC2 实例
区域 示例应用程序的位置 美国东部(俄亥俄州)区域 http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Linux.zip
美国东部(弗吉尼亚州北部)区域 http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip
美国西部(北加利福尼亚)区域 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Linux.zip
美国西部(俄勒冈州)区域 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Linux.zip
加拿大(中部)区域 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Linux.zip
欧洲地区(爱尔兰)区域 http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Linux.zip
欧洲地区(伦敦)区域 http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Linux.zip
欧洲地区(巴黎)区域 http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Linux.zip
欧洲地区(法兰克福)区域 http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Linux.zip
以色列(特拉维夫)区域 https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
亚太地区(香港)区域 https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
Asia Pacific(Tokyo)Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip
亚太地区(首尔)区域 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Linux.zip
亚太地区(新加坡)区域 http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Linux.zip
亚太地区(悉尼)区域 http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Linux.zip
亚太地区(墨尔本)区域 https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Linux.zip
亚太地区(孟买)区域 http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Linux.zip
南美洲(圣保罗)区域 http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Linux.zip
对于 Windows Server Amazon EC2 实例
区域 示例应用程序的位置 美国东部(俄亥俄州)区域 http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Windows.zip
美国东部(弗吉尼亚州北部)区域 http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Windows.zip
美国西部(北加利福尼亚)区域 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Windows.zip
美国西部(俄勒冈州)区域 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Windows.zip
加拿大(中部)区域 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Windows.zip
欧洲地区(爱尔兰)区域 http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Windows.zip
欧洲地区(伦敦)区域 http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Windows.zip
欧洲地区(巴黎)区域 http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Windows.zip
欧洲地区(法兰克福)区域 http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Windows.zip
以色列(特拉维夫)区域 https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
亚太地区(香港)区域 https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
亚太地区(首尔)区域 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Windows.zip
亚太地区(新加坡)区域 http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Windows.zip
亚太地区(悉尼)区域 http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Windows.zip
亚太地区(墨尔本)区域 https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Windows.zip
亚太地区(孟买)区域 http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Windows.zip
南美洲(圣保罗)区域 http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Windows.zip
对于 Ubuntu Server Amazon EC2 实例
键入存储在 Amazon S3 中的自定义应用程序修订的位置。
-
保留部署描述为空。
-
展开高级。
-
选择 Create deployment(创建部署)。
注意
如果显示失败而不是成功,则您可能需要尝试监控您的部署并排除故障中的一些方法(使用应用程序名称
SimpleDemoApp
和部署组名称SimpleDemoDG
)。