本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS CodePipeline 与 AWS OpsWorks Stacks - Chef 12 堆栈
重要
AWS OpsWorks Stacks不再接受新客户。在 2024 年 5 月 26 日之前,现有客户将能够照常使用 OpsWorks 控制台、API、CLI 和 CloudFormation 资源,届时这些工具或资源将停用。为准备此过渡,我们建议您尽快将堆栈过渡到AWS Systems Manager。有关更多信息,请参阅 AWS OpsWorks Stacks 生命周期终止常见问题解答 和 将 AWS OpsWorks Stacks 应用程序迁移到 AWS Systems Manager Application Manager:
AWS CodePipeline
注意
本主题介绍了如何使用管道来运行和更新 Chef 12 堆栈中的应用程序。有关如何使用管道来运行和更新 Chef 11.10 堆栈中的应用程序的信息,请参阅 AWS CodePipeline 与 AWS OpsWorks Stacks - Chef 11 堆栈。发送到 Simple Storage Service(Amazon S3)存储桶的内容可能包含客户内容。有关删除敏感数据的更多信息,请参阅如何清空 S3 存储桶?或如何删除 S3 存储桶?。
主题
先决条件
在开始本演练之前,请确保您具有管理员权限来执行以下所有任务。您可以是已应用 AdministratorAccess 策略的某个组的成员,也可以是拥有下表所示权限和策略的某个组的成员。作为最佳安全做法,您应加入有权执行以下任务的组,而不是为各个用户分配所需权限。
有关在 IAM 中创建安全组并为该组分配权限的更多信息,请参阅创建 IAM 用户组。有关管理 AWS OpsWorks Stacks 权限的更多信息,请参阅最佳实践:管理权限。
权限 | 推荐的附加到组的策略 |
---|---|
在 AWS OpsWorks Stacks 中创建和编辑堆栈、层和实例。 |
AWSOpsWorks_FullAccess |
在 AWS CloudFormation 中创建、编辑和运行模板。 |
AmazonCloudFormationFullAccess |
创建、编辑和访问 Amazon S3 存储桶。 |
AmazonS3FullAccess |
在 CodePipeline 中创建、编辑和运行管道,尤其是使用 AWS OpsWorks Stacks 作为提供程序的管道。 |
AWSCodePipeline_FullAccess |
您还必须拥有 Amazon EC2 密钥对。当您运行创建本演练中的示例堆栈、层和实例的 AWS CloudFormation 模板时,系统将提示您提供此密钥对的名称。有关在 Amazon EC2 控制台中获取密钥对的更多信息,请参阅 Amazon EC2 文档中的创建密钥对。主题必须位于美国东部(弗吉尼亚州北部)区域。如果您在该区域已有一个密钥对,则可使用现有密钥对。
其他受支持的场景
本演练会创建包含一个 Source 和一个 Deploy 阶段的简单管道。但是,您可以创建将 AWS OpsWorks Stacks 用作提供程序的更复杂的管道。以下是受支持的管道和场景的示例:
-
您可以编辑管道,以将 Chef 说明书添加到 Source 阶段,以及将已更新说明书的关联目标添加到 Deploy 阶段。在这种情况下,您添加一项 Deploy 操作,以便在更改源时触发对说明书的更新。更新的说明书将在应用程序前面部署。
-
您可以创建一个复杂管道 (带自定义说明书和多个应用程序),并将其部署到 AWS OpsWorks Stacks 堆栈。该管道可跟踪对应用程序和说明书源的更改,并在您做出更改后重新部署。下面提供了一个类似的复杂管道的示例:
有关使用 CodePipeline 的更多信息,请参阅《CodePipeline 用户指南》。