AWS CodePipeline 带 AWS OpsWorks 堆栈-Chef 12 个堆栈 - AWS OpsWorks

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

AWS CodePipeline 带 AWS OpsWorks 堆栈-Chef 12 个堆栈

重要

该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre mium Su AWS pp ort 与 AWS Support 团队联系。

AWS CodePipeline允许您创建持续交付管道,以跟踪来自诸如 CodeCommit亚马逊简单存储服务 (Amazon S3) Simple Service 或之类的源代码更改。GitHub本主题中的示例介绍如何创建和使用其中的简单管道 CodePipeline 作为在 AWS OpsWorks Stacks 层上运行的代码的部署工具。在此示例中,您为一个简单的 Node.js 应用程序创建了一个管道,然后指示 AWS OpsWorks Stacks 在 Chef 12 堆栈中某个层的所有实例(在本例中为单个实例)上运行该应用程序。

注意

本主题介绍了如何使用管道来运行和更新 Chef 12 堆栈中的应用程序。有关如何使用管道来运行和更新 Chef 11.10 堆栈中的应用程序的信息,请参阅 AWS CodePipeline 带 AWS OpsWorks 堆栈-Chef 11 Stacks。发送到 Amazon S3 存储桶的内容可能包含客户内容。有关删除敏感数据的更多信息,请参阅如何清空 S3 存储桶?如何删除 S3 存储桶?

先决条件

在开始本演练之前,请确保您具有管理员权限来执行以下所有任务。您可以是已应用AdministratorAccess策略的群组的成员,也可以是拥有下表所示权限和策略的群组的成员。作为最佳安全做法,您应加入有权执行以下任务的组,而不是为各个用户分配所需权限。

有关在 IAM 中创建安全组并为该组分配权限的更多信息,请参阅创建 IAM 用户组。有关管理 AWS OpsWorks 堆栈权限的更多信息,请参阅最佳实践:管理权限

权限 推荐的附加到组的策略

在堆栈中创建和编辑堆栈、图层和实 AWS OpsWorks 例。

AWSOpsWorks_FullAccess

在 AWS CloudFormation中创建、编辑和运行模板。

AmazonCloudFormationFullAccess

创建、编辑和访问 Amazon S3 存储桶。

亚马逊 3 FullAccess

在中创建、编辑和运行管道 CodePipeline,尤其是使用 AWS OpsWorks Stacks 作为提供者的管道。

AWSCodePipeline_FullAccess

您还必须拥有 Amazon EC2 密钥对。在本演练中运行创建示例堆栈、层和实例的 AWS CloudFormation 模板时,系统将提示您提供此 key pair 的名称。有关在 Amazon EC2 控制台中获取密钥对的更多信息,请参阅 Amazon EC2 文档中的创建密钥对。主题必须位于美国东部(弗吉尼亚州北部)区域。如果您在该区域已有一个密钥对,则可使用现有密钥对。

其他受支持的场景

本演练会创建包含一个 Source 和一个 Deploy 阶段的简单管道。但是,您可以创建使用 AWS OpsWorks Stacks 作为提供者的更复杂的管道。以下是受支持的管道和场景的示例:

  • 您可以编辑管道,以将 Chef 说明书添加到 Source 阶段,以及将已更新说明书的关联目标添加到 Deploy 阶段。在这种情况下,您添加一项 Deploy 操作,以便在更改源时触发对说明书的更新。更新的说明书将在应用程序前面部署。

  • 您可以创建包含自定义食谱和多个应用程序的复杂管道,然后部署到 AWS OpsWorks 堆栈堆栈。该管道可跟踪对应用程序和说明书源的更改,并在您做出更改后重新部署。下面提供了一个类似的复杂管道的示例:

有关使用的更多信息 CodePipeline,请参阅《CodePipeline 用户指南》