

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

# 示例 1：使用创建 AWS CodeCommit 管道 AWS CloudFormation
<a name="tutorials-cloudformation-codecommit"></a>

本演练向您展示如何使用 AWS CloudFormation 控制台创建基础架构，其中包括连接到 CodeCommit 源存储库的管道。在本教程中，您将使用提供的示例模板文件创建资源堆栈，其中包括您的项目存储、管道和更改检测资源，例如您的 Amazon Ev CloudWatch ents 规则。在中创建资源堆栈后 AWS CloudFormation，您可以在 AWS CodePipeline 控制台中查看您的管道。该管道是一个分为两个阶段的管道，包括 CodeCommit 源阶段和 CodeDeploy 部署阶段。

**先决条件：**

您必须已创建以下资源才能与 AWS CloudFormation 示例模板一起使用：
+ 您必须已创建一个源存储库。您可以使用您在中创建的 AWS CodeCommit 存储库[教程：创建简单的管道（CodeCommit 存储库）](tutorials-simple-codecommit.md)。
+ 您必须已创建 CodeDeploy 应用程序和部署组。您可以使用在[教程：创建简单的管道（CodeCommit 存储库）](tutorials-simple-codecommit.md)中创建的 CodeDeploy 资源。
+ [选择以下链接之一下载用于创建管道的示例 AWS CloudFormation 模板文件：[YAML](samples/codepipeline-codecommit-events-yaml.zip) \$1 JSON](samples/codepipeline-codecommit-events-json.zip)

  解压缩该文件并将其放在您的本地计算机上。
+ 下载 [SampleApp\$1Linux.zip](samples/SampleApp_Linux.zip) 示例应用程序文件。



**在中创建您的管道 AWS CloudFormation**

1. 从 [SampleApp\$1Linux.zip](samples/SampleApp_Linux.zip) 解压文件，然后将文件上传到您的 AWS CodeCommit 存储库。您必须将解压缩的文件上传到存储库的根目录。您可以按照[第 2 步：向 CodeCommit 存储库中添加示例代码](tutorials-simple-codecommit.md#codecommit-add-code)中的说明将文件推送到您的存储库。

1. 打开 AWS CloudFormation 控制台并选择 “**创建堆栈**”。选择**使用新资源（标准）**。

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

1. 在**堆栈名称**中，输入管道的名称。将显示由示例模板指定的参数。输入以下参数：

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

   1. 在中 **BetaFleet**，输入您的 CodeDeploy 部署组的名称。

   1. 在中 **BranchName**，输入要使用的存储库分支。

   1. 在中 **RepositoryName**，输入您的 CodeCommit 源存储库的名称。

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

1. 在 “**能力**” 中，选择 “**我确认 AWS CloudFormation 可能会创建 IAM 资源**”，然后选择 “**创建堆栈**”。

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

   **故障排查**

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

   ```
   {
        "Effect": "Allow",
        "Action": [
           "events:PutRule",
           "events:PutEvents",
           "events:PutTargets",
           "events:DeleteRule",
           "events:RemoveTargets",
           "events:DescribeRule"
        ],
        "Resource": "resource_ARN"
   }
   ```

1. 登录 AWS 管理控制台 并打开 CodePipeline 控制台，网址为[https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/)。

   在**管道**下，选择您的管道并选择**查看**。该图显示了您的管道源和部署阶段。
**注意**  
要查看已创建的管道，请在 CloudFormation中找到堆栈的**资源**选项卡下的**逻辑 ID** 列。记下管道的**物理 ID** 列中的名称。在中 CodePipeline，您可以在创建堆栈的区域中查看具有相同物理 ID（管道名称）的管道。

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