将每个Amazon S3 每个 CodeDeploy 每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将每个Amazon S3 每个 CodeDeploy 每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个

在按照中所述规划修订版本计划 CodeDeploy 的修订并将 AppSpec 文件添加到修订版后,您就可以捆绑组件文件并将修订版推送到 Amazon S3 了。将应用程序规范文件添加到修订版中 CodeDeploy要部署到 Amazon EC2 实例,在推送修订版后,您可以使用 CodeDeploy 将修订版从 Amazon S3 部署到实例。

注意

CodeDeploy 也可以用于部署已推送到的修订版 GitHub。有关更多信息,请参阅您的 GitHub 文档。

我们假定您已遵循 CodeDeploy 入门中的说明来设置 Amazon CLI。这对于调用稍后描述的 push 命令来说特别重要。

确保您有一个一个 Amazon S3 存储桶数。按照创建存储桶中的说明进行操作。

如果您的部署是 Amazon EC2 实例,则目标 Amazon S3 存储桶必须创建或存在于与目标实例相同的区域。例如,如果您想将每个每个美国东部(弗吉尼亚州北部)区域中的某些每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个美国西部(俄勒冈州)区域中的每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个美国西部(俄勒冈州)区域中的每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个美国西部(俄勒冈州)区域中的每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个美国西部(俄勒冈州 在这种情况下,您随后需要创建两个单独的部署,一个在美国东部(弗吉尼亚州北部)区域,另一个在美国西部(俄勒冈州)区域中,另一个在美国西部(俄勒冈州)区域中每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个

您必须有权将其上载到 Amazon S3 存储桶中。您可以通过 Amazon S3 存储桶策略指定这些权限。例如,在以下 Amazon S3 存储桶策略中,使用通配符 (*) 允许Amazon账户将文件上传111122223333到名为 Amazon S3 存储桶的任何目录codedeploydemobucket

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

要查看您的Amazon账户 ID,请参阅查找您的Amazon账户 ID

要了解如何生成和附加 Amazon S3 存储桶策略,请参阅存储桶策略示例

调用push命令的用户必须至少具有将修订上传到每个目标 Amazon S3 存储桶的权限。例如,以下策略允许用户在名为 Amazon S3 存储桶中的任何位置上载每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个codedeploydemobucket每个每个

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::codedeploydemobucket/*" } ] }

要了解如何创建和附加 IAM policy,请参阅使用策略

使用推送修订版Amazon CLI

注意

push命令将应用程序构件和 AppSpec 文件捆绑到修订版中。此修订的文件格式是压缩的 ZIP 文件。该命令不能用于Amazon Lambda 或 Amazon ECS 部署,因为每个部署都需要一个 JSON 格式或 YAML 格式的 AppSpec 文件的修订版。

调用 push 命令以便为部署绑定和推送修订。它的参数包括:

  • --application-name:(字符串)必需。要应用程序修订关联的 CodeDeploy 应用程序的名称。

  • --s3-location:(字符串)必需。有关要上载到 Amazon S3 每个应用程序每个每个每个每个每个每个每个每个每个每个每个每个每个每个每个资产数。您必须指定一个 Amazon S3 存储桶和密钥。密钥是修订版的名称。 CodeDeploy 在上传内容之前将其压缩。采用格式 s3://your-S3-bucket-name/your-key.zip

  • --ignore-hidden-files--no-ignore-hidden-files:(布尔值)可选。使用标--no-ignore-hidden-files志(默认)捆绑隐藏文件并将其上传到 Amazon S3。使用该--ignore-hidden-files标志不捆绑并将隐藏文件上传到 Amazon S3。

  • --source(字符串)可选。要部署的内容的位置以及开发计算机上要压缩并上传到 Amazon S3 的 AppSpec 文件。该位置被指定为相对于当前目录的路径。如果未指定相对路径或者对路径使用了单个句点 (“.”),则使用当前目录。

  • --description(字符串)可选。用于概述应用程序修订的注释。如果未指定,则使用默认字符串 “由Amazon CLI 'time' UTC 上传”,其中 “time” 是协调世界时 (UTC) 中的当前系统时间。

您可以使用推送Amazon CLI Amazon EC2 部署的修订版。示例推送命令如下所示:

在 Linux、macOS 或 Unix 中:

aws deploy push \ --application-name WordPress_App \ --description "This is a revision for the application WordPress_App" \ --ignore-hidden-files \ --s3-location s3://codedeploydemobucket/WordPressApp.zip \ --source .

在 Windows 中:

aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://codedeploydemobucket/WordPressApp.zip --source .

此命令执行以下操作:

  • 将已绑定的文件与名为 WordPress_App 的应用程序关联。

  • 将描述附加到修订。

  • 忽略隐藏文件。

  • 为修订 WordPressApp.zip 命名并将其推送到名为 codedeploydemobucket 的存储桶。

  • 将根目录中的所有文件绑定到修订。

推送成功后,您可以使用Amazon CLI或 CodeDeploy 控制台从 Amazon S3 部署修订版。使用 Amazon CLI 部署此修订:

在 Linux、macOS 或 Unix 中:

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

在 Windows 中:

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

有关更多信息,请参阅 使用创建部署 CodeDeploy