AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

将 AWS CodeDeploy 的修订推送到 Amazon S3

在规划修订(如计划修订中所述)并将 AppSpec 文件添加到修订(如添加 AppSpec 文件中所述)后,您便已准备好捆绑组件文件并将修订推送到 Amazon S3。在推送修订后,可以使用 AWS CodeDeploy 将修订从 Amazon S3 部署到实例。

注意

AWS CodeDeploy 还可用于将已推送的修订部署到 GitHub。有关更多信息,请参阅 GitHub 文档。

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

请确保您拥有 Amazon S3 存储桶。遵循创建存储桶中的说明。

目标 Amazon S3 存储桶必须创建于或位于目标实例所在的相同区域中。例如,如果您需要将修订部署到美国东部(弗吉尼亚北部)地区中的一些实例和美国西部(俄勒冈)区域中的其他实例,则美国东部(弗吉尼亚北部)地区中必须有一个带修订副本的存储桶,并且美国西部(俄勒冈)区域中必须有另一个带相同修订的其他副本的存储桶。在此方案中,您随后需要分别在美国东部(弗吉尼亚北部)地区和美国西部(俄勒冈)区域中各创建一个单独的部署,即使两个区域和存储桶中的修订相同也是如此。

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

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

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

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

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

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

要使用单个命令捆绑和推送修订,请从命令行中,切换到修订的根目录(文件夹),然后调用 push 命令。

例如,要将从当前目录开始并与名为 WordPress_App 的应用程序关联的修订中的组件文件捆绑到名为 codedeploydemobucket 的 Amazon S3 存储桶(修订名为 WordPressApp.zip),请调用 push 命令,如下所示:

在 Linux, OS X, or Unix 中:

Copy
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 中:

Copy
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 .

在推送成功后,可以使用 AWS CLI 或 AWS CodeDeploy 控制台将修订从 Amazon S3 部署到实例。有关说明,请参阅创建部署