创建使用 CodeBuild 的管道(CodePipeline 控制台)
执行以下步骤,创建使用 CodeBuild 来构建和部署源代码的管道。
要创建仅测试源代码的管道:
-
执行以下步骤来创建管道,然后从管道中删除构建和测试阶段。然后使用本主题中的 向管道添加 CodeBuild 测试操作(CodePipeline 控制台) 步骤,将使用 CodeBuild 的测试操作添加到管道。
-
使用本主题中的其他步骤之一来创建管道,然后使用本主题中的 向管道添加 CodeBuild 测试操作(CodePipeline 控制台) 步骤,将使用 CodeBuild 的测试操作添加到管道。
使用 CodePipeline 中的创建管道向导来创建使用 CodeBuild 的管道
-
使用以下项登录到 AWS Management Console:
-
您的 AWS 根账户。我们不建议这么做。有关更多信息,请参阅用户指南中的账户根用户。
-
AWS 账户中的管理员用户。有关更多信息,请参阅用户指南中的创建您的第一个 AWS 账户 根用户和组。
-
您的 AWS 账户中的用户有权使用以下最低程度的操作:
codepipeline:* iam:ListRoles iam:PassRole s3:CreateBucket s3:GetBucketPolicy s3:GetObject s3:ListAllMyBuckets s3:ListBucket s3:PutBucketPolicy codecommit:ListBranches codecommit:ListRepositories codedeploy:GetApplication codedeploy:GetDeploymentGroup codedeploy:ListApplications codedeploy:ListDeploymentGroups elasticbeanstalk:DescribeApplications elasticbeanstalk:DescribeEnvironments lambda:GetFunctionConfiguration lambda:ListFunctions opsworks:DescribeStacks opsworks:DescribeApps opsworks:DescribeLayers
-
-
从 https://console.aws.amazon.com/codesuite/codepipeline/home
打开 AWS CodePipeline 控制台。 -
在 AWS 区域选择器中,选择构建项目 AWS 资源所在的 AWS 区域。这必须是支持 CodeBuild 的 AWS 区域。有关更多信息,请参阅 Amazon Web Services 一般参考 中的 AWS CodeBuild。
-
创建管道。如果显示 CodePipeline 信息页面,请选择创建管道。如果显示管道页面,请选择创建管道。
-
在步骤 1:选择管道设置页面上,对于管道名称,输入管道的名称(例如,
CodeBuildDemoPipeline
)。如果您选择其他名称,请确保在本过程中始终使用它。 -
对于角色名称,执行以下操作之一:
选择新服务角色,然后在角色名称中,输入新服务角色的名称。
选择现有服务角色,然后选择已创建或标识为此主题的先决条件一部分的 CodePipeline 服务角色。
-
对于构件存储,执行下列操作之一:
-
选择默认位置,将默认构件存储(如指定为默认值的 S3 构件存储桶)用于为管道选择的 AWS 区域中的管道。
-
如果您现已在管道所在的 AWS 区域中创建构件存储(例如,S3 构件存储桶),请选择自定义位置。
注意
这不是管道的源代码的源存储桶。这是管道的项目存储。管道所在 AWS 区域中的每个管道都需要一个单独的构件存储(例如,S3 存储桶)。
-
-
选择下一步。
-
在步骤 2:添加资源阶段页面上,对于源提供商,执行下列操作之一:
-
如果您的源代码存储在 S3 存储桶中,请选择 Amazon S3。对于存储桶,选择包含源代码的 S3 存储桶。对于S3 对象键,输入包含源代码的文件的名称(例如
)。选择下一步。file-name
.zip -
如果您的源代码存储在 AWS CodeCommit 存储库中,请选择 CodeCommit。对于存储库名称,请选择包含源代码的存储库的名称。对于分支名称,请选择包含要构建的源代码版本的分支名称。选择下一步。
-
如果您的源代码存储在 GitHub 存储库中,请选择 GitHub。选择连接到 GitHub,然后按照说明进行操作以通过 GitHub 进行身份验证。对于存储库,请选择包含源代码的存储库的名称。对于分支,请选择包含要构建的源代码版本的分支名称。
选择下一步。
-
-
在步骤 3:添加构建阶段页面上,对于构建提供商,选择 CodeBuild。
-
如果您已有要使用的构建项目,则对于项目名称,选择构建项目的名称并跳到本过程的下一步。
如果您需要创建新的 CodeBuild 构建项目,请按照创建构建项目(控制台)中的说明进行操作,然后返回此过程。
如果您选择一个现有的构建项目,那么它必须具有已定义的构建输出构件设置(即使 CodePipeline 覆盖它们)。有关更多信息,请参阅 更改构建项目的设置(控制台)。
重要
如果您为 CodeBuild 项目启用 Webhook,并且该项目用作 CodePipeline 中的构建步骤,则将为每次提交创建两个相同的构建。一个构建通过 Webhook 触发,另一个构建通过 CodePipeline 触发。由于账单基于每个构建,因此您需要为这两个构建付费。因此,如果您使用的是 CodePipeline,建议您在 CodeBuild 中禁用 Webhook。在 AWS CodeBuild 控制台中,清除 Webhook 框。有关更多信息,请参阅 更改构建项目的设置(控制台)。
-
在步骤 4: 添加部署阶段页面上,执行下列操作之一:
-
如果您不想部署构建输出项目,请在系统提示时选择跳过并确认此选择。
-
如果要部署构建输出项目,对于部署提供商,选择部署提供商,然后在系统提示时指定设置。
选择下一步。
-
-
在查看页面上,查看您的选择,然后选择创建管道。
-
管道成功运行后,您可以获取构建输出构件。管道在 CodePipeline 控制台中显示后,在构建操作中,选择工具提示。记下输出构件的值(例如,MyAppBuild)。
注意
您还可以通过在 CodeBuild 控制台的构建详细信息页面上选择构建构件链接来获取构建输出构件。要前往此页面,请跳过此过程中的剩余步骤,并参阅查看构建详细信息(控制台)。
通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/
。 -
在存储桶列表中,请打开管道使用的存储桶。此存储桶的名称应遵循格式
codepipeline-
。您可以使用 AWS CLI 运行 CodePipeline get-pipeline 命令,以获取存储桶的名称,其中,region-ID
-random-number
my-pipeline-name
是管道的显示名称:aws codepipeline get-pipeline --name
my-pipeline-name
在输出中,该
pipeline
对象包含一个artifactStore
对象,其中包含带有存储桶名称的location
值。 -
打开与您的管道名称匹配的文件夹(根据管道名称的长度,文件夹名称可能被截断),然后打开与您之前记下的输出构件的值匹配的文件夹。
-
提取文件内容。如果该文件夹中有多个文件,请提取具有最新上一次修改时间戳的文件的内容。(您可能需要为文件提供
.zip
扩展名,这样,您可以将其用于您系统内的 ZIP 实用工具。) 构建输出构件将位于文件的提取内容中。 -
如果您指示 CodePipeline 部署构建输出构件,请使用部署提供商的说明,获取部署目标上的构建输出构件。