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

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

向管道添加 CodeBuild 生成操作(CodePipeline控制台)

  1. 使用以下 Amazon Web Services Management Console 方式登录:

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

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

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

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

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

  5. 在管道详细信息页面的操作中,选择工具提示。记下输出对象的值(例如,MyApp)。

    注意

    此过程向您演示如何将构建操作添加到测试阶段之间的构建阶段内。如果您要在其他位置添加构建操作,在您要添加构建操作的位置之前的操作上选择工具提示,并记下输出构件的值。

  6. 选择编辑

  7. 测试阶段之间,选择添加阶段

    注意

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

    如何将源代码阶段和测试阶段之间的构建阶段添加到您的管道中。

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

  9. 在选定阶段内,选择添加操作

    注意

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

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

  11. 对于 Action provider (操作提供商),选择 CodeBuild

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

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

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

    重要

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

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

  14. 对于输出构件,输入输出构件的名称(例如,MyAppBuild)。

  15. 选择添加操作

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

  17. 选择发布更改

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

    注意

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

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

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

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

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

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

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

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