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

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

将 CodeBuild 构建操作添加到管道(CodePipeline 控制台)

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

  3. 在Amazon区域选择器,请选择Amazon管道所在的区域。这必须是支持 CodeBuild 的区域。有关更多信息,请参阅 。CodeBuild中的Amazon Web Services 一般参考.

  4. Pipelines (管道) 页面上,选择管道的名称。

  5. 在管道详细信息页面的 Source (源) 操作中,选择工具提示。记下 Output artifact (输出项目) 的值 (例如,MyApp):

    注意

    此过程向您演示如何将生成操作添加到 SourceBeta 阶段之间的生成阶段内。如果您要在其他位置添加生成操作,在您要添加生成操作的位置之前的操作上选择工具提示,并记下 Output artifact (输出项目) 的值。

  6. 选择 Edit (编辑)

  7. Source (源)Beta (测试版) 阶段之间,选择 Add stage (添加阶段)

    注意

    此过程向您演示如何在 Source (源)Beta (测试) 阶段之间添加构建阶段。要将生成操作添加到现有的阶段,请选择阶段中的 Edit stage (编辑阶段),然后跳到此过程的步骤 8。要在其他位置添加构建阶段,请在所需位置选择 Add stage (添加阶段)

  8. 对于 Stage name (阶段名称),输入生成阶段的名称(例如,Build)。如果您选择了其他名称,请在整个过程中使用该名称。

  9. 在选定阶段内,选择 Add action (添加操作)

    注意

    此过程向您演示如何在构建阶段内添加构建操作。要在其他位置添加构建操作,请在所需位置选择 Add action (添加操作)。您可能需要先在您要添加构建操作的现有阶段内选择 Edit stage (编辑阶段)

  10. Edit action (编辑操作) 中,对于 Action name (操作名称),输入操作的名称(例如,CodeBuild)。如果您选择了其他名称,请在整个过程中使用该名称。

  11. 适用于操作提供方,选择CodeBuild.

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

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

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

    重要

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

  13. 对于 Input artifacts (输入构件),选择您在此过程的前面记下的输出构件。

  14. 对于 Output artifacts (输出项目),输入输出项目的名称(例如,MyAppBuild)。

  15. 选择添加操作

  16. 选择 Save (保存),然后选择 Save (保存) 以保存对管道的更改。

  17. 选择 Release change

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

    注意

    您还可以通过选择构建项目链接在 CodeBuild 控制台的生成详细信息页面上。要访问此页面,请参阅 查看构建详细信息(控制台),然后跳到此过程的步骤 31。

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

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

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

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

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

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

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