示例 1:使用 AWS CodeCommit 创建 AWS CloudFormation 管道 - AWS CodePipeline

示例 1:使用 AWS CodeCommit 创建 AWS CloudFormation 管道

本演练介绍如何使用 AWS CloudFormation 控制台创建基础设施,该基础设施包括连接到 CodeCommit 源存储库的管道。在本教程中,您可使用提供的示例模板文件创建您的资源堆栈,其中包含您的构件存储、管道以及更改检测资源(例如,您的 Amazon CloudWatch Events 规则)。在 AWS CloudFormation 中创建资源堆栈后,您可以在 AWS CodePipeline 控制台中查看您的管道。该管道是一个两阶段管道,具有一个 CodeCommit 源阶段和一个 CodeDeploy 部署阶段。

先决条件

您必须已创建以下资源以用于 AWS CloudFormation 示例模板:

在 AWS CloudFormation 中创建管道
  1. SampleApp_Linux.zip 解压缩文件,并将文件上传到 AWS CodeCommit 存储库。您必须将解压缩的文件上传到存储库的根目录。您可以按照步骤 2:向 CodeCommit 存储库添加示例代码中的说明将文件推送到您的存储库。

  2. 打开 AWS CloudFormation 控制台并选择创建堆栈。选择使用新资源(标准)

  3. 指定模板下,选择上传模板。选中选择文件,然后从您的本地计算机选择模板文件。选择下一步

  4. 堆栈名称中,输入管道的名称。将显示由示例模板指定的参数。输入以下参数:

    1. ApplicationName 中,输入您的 CodeDeploy 应用程序的名称。

    2. BetaFleet 中,输入您的 CodeDeploy 部署组的名称。

    3. BranchName 中,输入要使用的存储库分支。

    4. RepositoryName 中,输入 CodeCommit 源存储库的名称。

  5. 选择下一步。在接下来的页面上接受默认值,然后选择下一步

  6. 功能中,选择我确认 AWS CloudFormation 可能创建 IAM 资源,然后选择创建堆栈

  7. 在堆栈创建完成后,查看事件列表以检查是否存在任何错误。

    故障排查

    正在 AWS CloudFormation 中创建管道的 IAM 用户可能需要额外的权限才能为管道创建资源。策略中需要以下权限才能允许 AWS CloudFormation 为 CodeCommit 管道创建所需的 Amazon CloudWatch Events 资源:

    { "Effect": "Allow", "Action": [ "events:PutRule", "events:PutEvents", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets", "events:DescribeRule" ], "Resource": "resource_ARN" }
  8. 通过以下网址登录 AWS 管理控制台 并打开 CodePipeline 控制台:https://console.aws.amazon.com/codepipeline/

    管道下,选择您的管道并选择查看。该图显示了您的管道源和部署阶段。

    注意

    要查看已创建的管道,请在 CloudFormation 中找到堆栈的资源选项卡下的逻辑 ID 列。记下管道的物理 ID 列中的名称。在 CodePipeline 中,您可以在创建堆栈的区域中查看具有相同物理 ID(管道名称)的管道。

  9. 在您的源存储库中,提交并推送更改。您的更改检测资源会拾取更改,并且您的管道启动。