示例 1:使用 AWS CodeCommit 创建 AWS CloudFormation 管道
本演练介绍如何使用 AWS CloudFormation 控制台创建基础设施,该基础设施包括连接到 CodeCommit 源存储库的管道。在本教程中,您可使用提供的示例模板文件创建您的资源堆栈,其中包含您的构件存储、管道以及更改检测资源(例如,您的 Amazon CloudWatch Events 规则)。在 AWS CloudFormation 中创建资源堆栈后,您可以在 AWS CodePipeline 控制台中查看您的管道。该管道是一个两阶段管道,具有一个 CodeCommit 源阶段和一个 CodeDeploy 部署阶段。
先决条件
您必须已创建以下资源以用于 AWS CloudFormation 示例模板:
-
您必须已创建一个源存储库。您可以使用在AWS CodeCommit中创建的 教程:创建一个简单的管道(CodeCommit 存储库) 存储库。
-
您必须已创建 CodeDeploy 应用程序和部署组。您可以使用在教程:创建一个简单的管道(CodeCommit 存储库)中创建的 CodeDeploy 资源。
-
选择以下链接之一以下载用于创建管道的示例 AWS CloudFormation 模板文件:YAML | JSON
解压缩该文件并将其放在您的本地计算机上。
-
下载示例应用程序文件 SampleApp_Linux.zip。
在 AWS CloudFormation 中创建管道
-
从 SampleApp_Linux.zip 解压缩文件,并将文件上传到 AWS CodeCommit 存储库。您必须将解压缩的文件上传到存储库的根目录。您可以按照步骤 2:向 CodeCommit 存储库添加示例代码中的说明将文件推送到您的存储库。
-
打开 AWS CloudFormation 控制台并选择创建堆栈。选择使用新资源(标准)。
-
在指定模板下,选择上传模板。选中选择文件,然后从您的本地计算机选择模板文件。选择下一步。
-
在堆栈名称中,输入管道的名称。将显示由示例模板指定的参数。输入以下参数:
-
在 ApplicationName 中,输入您的 CodeDeploy 应用程序的名称。
-
在 BetaFleet 中,输入您的 CodeDeploy 部署组的名称。
-
在 BranchName 中,输入要使用的存储库分支。
-
在 RepositoryName 中,输入 CodeCommit 源存储库的名称。
-
-
选择下一步。在接下来的页面上接受默认值,然后选择下一步。
-
在功能中,选择我确认 AWS CloudFormation 可能创建 IAM 资源,然后选择创建堆栈。
-
在堆栈创建完成后,查看事件列表以检查是否存在任何错误。
故障排查
正在 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" } -
通过以下网址登录 AWS 管理控制台 并打开 CodePipeline 控制台:https://console.aws.amazon.com/codepipeline/
。 在管道下,选择您的管道并选择查看。该图显示了您的管道源和部署阶段。
注意
要查看已创建的管道,请在 CloudFormation 中找到堆栈的资源选项卡下的逻辑 ID 列。记下管道的物理 ID 列中的名称。在 CodePipeline 中,您可以在创建堆栈的区域中查看具有相同物理 ID(管道名称)的管道。
-
在您的源存储库中,提交并推送更改。您的更改检测资源会拾取更改,并且您的管道启动。