创建使用 CodeBuild (CodePipeline控制台)的管道 - AWS CodeBuild

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

创建使用 CodeBuild (CodePipeline控制台)的管道

使用以下过程创建用于生成和部署源代码的管道。 CodeBuild

要创建仅测试源代码的管道:

使用中的创建管道向导 CodePipeline 来创建使用以下内容的管道 CodeBuild
  1. 使用以下 AWS Management Console 方式登录:

    • 您的 AWS 主账号。我们不建议这么做。有关更多信息,请参阅用户指南中的账户根用户

    • 您 AWS 账户中的管理员用户。有关更多信息,请参阅用户指南中的创建您的第一个 AWS 账户 root 用户和群组

    • 您 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
  2. https://console.aws.amazon.com/codesuite/codepipeline /hom AWS CodePipeline e 打开控制台。

  3. 在 AWS 区域选择器中,选择您的构建项目 AWS 资源所在的 AWS 区域。这必须 CodeBuild 是支持的地 AWS 区。有关更多信息,请参阅Amazon Web Services 一般参考中的 AWS CodeBuild

  4. 创建管道。如果显示 CodePipeline 信息页面,请选择创建管道。如果显示管道页面,请选择创建管道

  5. 步骤 1:选择管道设置页面上,对于管道名称,输入管道的名称(例如,CodeBuildDemoPipeline)。如果您选择其他名称,请确保在本过程中始终使用它。

  6. 对于角色名称,执行以下操作之一:

    选择新服务角色,然后在角色名称中,输入新服务角色的名称。

    选择 “现有服务角色”,然后选择作为本主题先决条件一部分创建或标识的 CodePipeline服务角色。

  7. 对于构件存储,执行下列操作之一:

    • 选择默认位置,在您为管道选择的 AWS 区域中使用默认项目存储,例如指定为默认的 S3 工件存储桶。

    • 如果您已经在与您的管道相同的 AWS 区域中创建了现有项目存储(例如 S3 工件存储桶),请选择自定义位置

    注意

    这不是管道的源代码的源存储桶。这是管道的项目存储。每个管道都需要单独的项目存储,例如 S3 存储桶,与管道位于同一个 AWS 区域。

  8. 选择下一步

  9. 步骤 2:添加资源阶段页面上,对于源提供商,执行下列操作之一:

    • 如果您的源代码存储在 S3 存储桶中,请选择 Amazon S3。对于存储桶,选择包含源代码的 S3 存储桶。对于S3 对象键,输入包含源代码的文件的名称(例如 file-name.zip)。选择下一步

    • 如果您的源代码存储在存储 AWS CodeCommit 库中,请选择CodeCommit。对于存储库名称,请选择包含源代码的存储库的名称。对于分支名称,请选择包含要构建的源代码版本的分支名称。选择下一步

    • 如果您的源代码存储在存储 GitHub 库中,请选择GitHub。选择 Connect t o GitHub,然后按照说明进行身份验证 GitHub。对于存储库,请选择包含源代码的存储库的名称。对于分支,请选择包含要构建的源代码版本的分支名称。

    选择下一步

  10. 在 “步骤 3:添加构建阶段” 页面上,对于 “生成提供者”,选择CodeBuild

  11. 如果您已有要使用的构建项目,则对于项目名称,选择构建项目的名称并跳到本过程的下一步。

    如果您需要创建新的 CodeBuild 构建项目,请按照中的说明进行操作,创建构建项目(控制台)然后返回此过程。

    如果您选择现有的构建项目,则该项目必须已经定义了构建输出构件设置(尽管 CodePipeline 会覆盖这些设置)。有关更多信息,请参阅 更改构建项目的设置(控制台)

    重要

    如果您为 CodeBuild 项目启用 webhook,并且该项目被用作构建步骤 CodePipeline,则会为每次提交创建两个相同的构建。一个版本是通过 webhook 触发的,另一个是通过 webhook 触发的。 CodePipeline由于账单基于每个构建,因此您需要为这两个构建付费。因此,如果您正在使用 CodePipeline,我们建议您在中禁用 webhook。 CodeBuild在 AWS CodeBuild 控制台中,清除 Webhook 框。有关更多信息,请参阅 更改构建项目的设置(控制台)

  12. 步骤 4: 添加部署阶段页面上,执行下列操作之一:

    • 如果您不想部署构建输出项目,请在系统提示时选择跳过并确认此选择。

    • 如果要部署构建输出项目,对于部署提供商,选择部署提供商,然后在系统提示时指定设置。

    选择下一步

  13. 查看页面上,查看您的选择,然后选择创建管道

  14. 管道成功运行后,您可以获取构建输出构件。在 CodePipeline 控制台中显示管道后,在 “构建” 操作中,选择工具提示。记下输出对象的值(例如,MyAppBuild)。

    注意

    您还可以通过在 CodeBuild 控制台的构建详细信息页面上选择构建构件链接来获取构建输出工件。要前往此页面,请跳过此过程中的剩余步骤,并参阅查看构建详细信息(控制台)

  15. 打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/

  16. 在存储桶列表中,请打开管道使用的存储桶。此存储桶的名称应遵循格式 codepipeline-region-ID-random-number。您可以使用运行 CodePipeline get-pipeline命令 AWS CLI 来获取存储桶的名称,其中 my-pipeline-name 是您的管道的显示名称:

    aws codepipeline get-pipeline --name my-pipeline-name

    在输出中,该 pipeline 对象包含一个 artifactStore 对象,其中包含带有存储桶名称的 location 值。

  17. 打开与您的管道名称匹配的文件夹(根据管道名称的长度,文件夹名称可能被截断),然后打开与您之前记下的输出构件的值匹配的文件夹。

  18. 提取文件内容。如果该文件夹中有多个文件,请提取具有最新上一次修改时间戳的文件的内容。(您可能需要为文件指定.zip扩展名,以便可以在系统的ZIP实用程序中使用它。) 构建输出构件将位于文件的提取内容中。

  19. 如果您指示 CodePipeline 部署构建输出项目,请使用部署提供商的说明访问部署目标上的构建输出项目。