创建使用 CodeBuild 的管道(CodePipeline 控制台) - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

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

执行以下步骤,创建使用 CodeBuild 来构建和部署源代码的管道。

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

使用 CodePipeline 中的创建管道向导来创建使用 CodeBuild 的管道

  1. 使用以下项登录到 Amazon Web Services Management Console:

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

    • 您的中的管理员 IAM 用户Amazonaccount. 有关更多信息,请参阅 IAM 用户指南中的创建您的第一个 IAM 管理员用户和组

    • 您的中的 IAM 用户Amazon账户有权使用以下最低程度的操作:

      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. 打开Amazon CodePipeline控制台在https://console.aws.amazon.com/codesuite/codepipeline/home.

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

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

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

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

    选择 New service role (新服务角色),然后在 Role Name (角色名称) 中,输入新服务角色的名称。

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

  7. 对于 Artifact store (项目存储),执行下列操作之一:

    • 选择默认位置将默认构件存储(如指定为默认构件存储桶)用于管道Amazon您为管道选择的区域。

    • 选择自定义位置如果您现已在同一个中创建构件存储(例如,S3 构件存储桶)Amazon区域作为你的管道。

    注意

    这不是管道的源代码的源存储桶。这是管道的项目存储。同一管道都需要一个单独的构件存储(如 S3 存储桶)Amazon区域作为管道。

  8. 选择下一步

  9. 在存储库的步骤 2: 添加源阶段对于页面,源提供商对于,请执行以下操作之一:

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

    • 如果您的源代码存储在Amazon CodeCommit存储库,选择CodeCommit. 对于 Repository name,请选择包含源代码的存储库的名称。对于 Branch name (分支名称),请选择包含要构建的源代码版本的分支名称。选择下一步

    • 如果您的源代码存储在 GitHub 存储库中,请选择 GitHub。选择 Connect to GitHub,然后按照说明进行操作以通过 GitHub 进行身份验证。对于 Repository,请选择包含源代码的存储库的名称。对于 Branch (分支),请选择包含要构建的源代码版本的分支名称。

    选择下一步

  10. 在存储库的步骤 3: 添加构建阶段对于页面,构建提供商,选择CodeBuild.

  11. 如果您已拥有要使用的构建项目,请对于Project name (项目名称)对于,请选择构建项目的名称,然后跳至本过程的下一步。

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

    如果您选择一个现有的构建项目,那么它必须具有已定义的构建输出项目设置(即使 CodePipeline 将覆盖它们)。有关更多信息,请参阅更改构建项目的设置(控制台)

    重要

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

  12. 在存储库的步骤 4: 添加部署阶段页面上,请执行以下操作之一:

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

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

    选择下一步

  13. Review (查看) 页面上,查看您的选择,然后选择 Create pipeline (创建管道)

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

    注意

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

  15. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

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

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

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

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

  18. 提取 文件内容。如果该文件夹中有多个文件,请提取具有最新 Last Modified 时间戳的文件的内容。(您可能需要为文件提供 .zip 扩展名,这样,您可以将其用于您系统内的 ZIP 实用工具。) 生成输出项目将位于文件的提取内容中。

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