本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 CodeBuild 构建操作添加到管道(CodePipeline 控制台)
-
使用以下项登录到 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
-
-
从打开 CodePipeline 控制台https://console.aws.amazon.com/codesuite/codepipeline/home
. -
在Amazon区域选择器中,请选择Amazon管道所在的区域。这必须是支持 CodeBuild 的区域。有关更多信息,请参阅 。CodeBuild中的Amazon Web Services 一般参考.
-
在 Pipelines (管道) 页面上,选择管道的名称。
-
在管道详细信息页面的 Source (源) 操作中,选择工具提示。记下 Output artifact (输出项目) 的值 (例如,MyApp):
注意 此过程向您演示如何将生成操作添加到 Source 和 Beta 阶段之间的生成阶段内。如果您要在其他位置添加生成操作,在您要添加生成操作的位置之前的操作上选择工具提示,并记下 Output artifact (输出项目) 的值。
-
选择 Edit (编辑)。
-
在 Source (源) 和 Beta (测试版) 阶段之间,选择 Add stage (添加阶段)。
注意 此过程向您演示如何在 Source (源) 和 Beta (测试) 阶段之间添加构建阶段。要将生成操作添加到现有的阶段,请选择阶段中的 Edit stage (编辑阶段),然后跳到此过程的步骤 8。要在其他位置添加构建阶段,请在所需位置选择 Add stage (添加阶段)。
-
对于 Stage name (阶段名称),输入生成阶段的名称(例如,
Build
)。如果您选择了其他名称,请在整个过程中使用该名称。 -
在选定阶段内,选择 Add action (添加操作)。
注意 此过程向您演示如何在构建阶段内添加构建操作。要在其他位置添加构建操作,请在所需位置选择 Add action (添加操作)。您可能需要先在您要添加构建操作的现有阶段内选择 Edit stage (编辑阶段)。
-
在 Edit action (编辑操作) 中,对于 Action name (操作名称),输入操作的名称(例如,
CodeBuild
)。如果您选择了其他名称,请在整个过程中使用该名称。 -
适用于操作提供方,选择CodeBuild.
-
如果您已拥有要使用的构建项目,请对于Project name (项目名称),请选择构建项目的名称,然后向前跳至本过程的下一步。
如果您需要创建新的 CodeBuild 构建项目,请按照中的说明操作。创建构建项目 (控制台)然后返回这个程序。
如果您选择一个现有的构建项目,那么它必须具有已定义的构建输出项目设置(即使 CodePipeline 覆盖它们)。有关更多信息,请参阅描述Artifacts在创建构建项目 (控制台)要么更改构建项目的设置(控制台).
重要 如果您为 CodeBuild 项目启用 Webhook,并且该项目用作 CodePipeline 的构建步骤,则将为每次提交创建两个相同的生成。一个构建通过 Webhook 触发,另一个生成通过 CodePipeline 触发。由于账单基于每个生成,因此您需要为这两个生成付费。因此,如果您使用的是 CodePipeline,建议您在 CodeBuild 中禁用 Webhook。在 CodeBuild 控制台中,清除Webhook。有关更多信息,请参阅 。更改构建项目的设置(控制台)
-
对于 Input artifacts (输入构件),选择您在此过程的前面记下的输出构件。
-
对于 Output artifacts (输出项目),输入输出项目的名称(例如,
MyAppBuild
)。 -
选择添加操作。
-
选择 Save (保存),然后选择 Save (保存) 以保存对管道的更改。
-
选择 Release change。
-
管道成功运行后,您可以获取构建输出项目。管道在 CodePipeline 控制台中显示后,在构建操作中,选择工具提示。记下 Output artifact (输出项目) 的值 (例如,MyAppBuild)。
注意 您还可以通过选择构建项目CodeBuild 控制台的构建详细信息页面上的链接。要访问此页面,请参阅 查看构建详细信息(控制台),然后跳到此过程的步骤 31。
通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在存储桶列表中,请打开管道使用的存储桶。此存储桶的名称应遵循格式
codepipeline-
。您可以使用Amazon CLI来运行 CodePipelineget-pipeline命令以获取存储桶的名称:region-ID
-random-number
aws codepipeline get-pipeline --name
my-pipeline-name
在输出中,该
pipeline
对象包含一个artifactStore
对象,其中包含带有存储桶名称的location
值。 -
打开与您的管道名称匹配的文件夹(根据管道名称的长度,文件夹名称可能被截断),然后打开与您在此过程的前面记下的 Output artifact (输出构件) 的值匹配的文件夹。
-
提取 文件内容。如果该文件夹中有多个文件,请提取具有最新 Last Modified 时间戳的文件的内容。(您可能需要为文件提供
.zip
扩展名,这样,您可以将其用于您系统内的 ZIP 实用工具。) 生成输出项目将位于文件的提取内容中。 -
如果您指示 CodePipeline 部署构建输出项目,请使用部署提供商的说明,获取部署目标上的构建输出项目。