本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon CodeBuild 生成和测试操作参考
允许您将构建和测试作为管道的一部分来运行。运行 CodeBuild 生成或测试操作时,构建规范中指定的命令将在 CodeBuild 容器内运行。所有被指定为 CodeBuild 操作输入工件的工件都可以在运行命令的容器中找到。 CodeBuild 可以提供生成或测试操作。有关更多信息,请参阅 用户指南。Amazon CodeBuild
当您在控制台中使用 CodePipeline 向导创建生成项目时, CodeBuild 生成项目会显示源提供者是 CodePipeline。在 CodeBuild控制台中创建构建项目时,您无法指定 CodePipeline 为源代码提供者,但是向管道中添加生成操作会调整 CodeBuild 控制台中的源代码。有关更多信息,请参阅 “Amazon CodeBuild API参考” ProjectSource中的。
操作类型
-
类别:
Build
或Test
-
拥有者:
AWS
-
提供方:
CodeBuild
-
版本:
1
配置参数
- ProjectName
-
必需:是
ProjectName
是中构建项目的名称 CodeBuild。 - PrimarySource
-
必需:条件
PrimarySource
参数的值必须是操作的其中一个输入项目的名称。 CodeBuild 查找构建规范文件并在包含此工件解压缩版本的目录中运行构建规范命令。如果为一个 CodeBuild 操作指定了多个输入对象,则此参数为必填项。当操作仅有一个源构件时,
PrimarySource
构件默认为该构件。 - BatchEnabled
-
必需:否
BatchEnabled
参数的布尔值允许操作在同一个构建执行中运行多个构建。启用此选项后,
CombineArtifacts
选项将变为可用。有关启用批量构建的管道示例,请参阅CodePipeline 集成 CodeBuild 和批量构建。
- CombineArtifacts
-
必需:否
CombineArtifacts
参数的布尔值将来自一个批量构建的所有构建构件合并为单个构件文件,将其用于构建操作。要使用此选项,必须启用
BatchEnabled
参数。 - EnvironmentVariables
-
必需:否
此参数的值用于为管道中的 CodeBuild 操作设置环境变量。
EnvironmentVariables
参数的值采用环境变量对象JSON数组的形式。请参阅操作声明(CodeBuild 示例)中的示例参数。每个对象有三个均为字符串的部分:
-
name
:环境变量的名称或键。 -
value
:环境变量的值。使用PARAMETER_STORE
或SECRETS_MANAGER
类型时,此值必须分别是您已经存储在 Sy Amazon stems Manager 参数存储中的参数的名称或已经存储在 Secrets Manager 中的 Amazon 密钥。注意
我们强烈建议不要使用环境变量存储敏感值,尤其是 Amazon 凭证。使用 CodeBuild 控制台或时 Amazon CLI,环境变量将以纯文本形式显示。对于敏感值,我们建议您改用
SECRETS_MANAGER
类型。 -
type
:(可选)环境变量的类型。有效值为PARAMETER_STORE
、SECRETS_MANAGER
或PLAINTEXT
。如果未指定,则此值默认为PLAINTEXT
。
注意
type
为环境变量配置输入name
value
、和时,尤其是在环境变量包含 CodePipeline 输出变量语法的情况下,请不要超过配置值字段的 1000 个字符限制。如果超过此限制,将会返回验证错误。有关更多信息,请参阅 “ Amazon CodeBuild API参考” EnvironmentVariable中的。有关带有可解析为 GitHub 分支名称的环境变量的 CodeBuild 操作示例,请参阅示例:使用带有 CodeBuild 环境 BranchName变量的变量。
-
输入构件
-
构件数:
1 to 5
-
描述: CodeBuild 查找构建规范文件并从主源构件的目录中运行构建规范命令。如果为 CodeBuild 操作指定了多个输入源,则必须使用中的
PrimarySource
操作配置参数来设置此对象 CodePipeline。各个输入构件会解压缩到各自的目录,其位置存储在环境变量中。主源构件的目录通过
$CODEBUILD_SRC_DIR
提供。所有其他输入构件的目录通过$CODEBUILD_SRC_DIR_yourInputArtifactName
提供。注意
在 CodeBuild 项目中配置的构件将成为管道中 CodeBuild 操作使用的输入项目。
输出构件
-
构件数:
0 to 5
-
描述:它们可用于使 CodeBuild 构建规范文件中定义的工件可供管道中的后续操作使用。在仅定义了一个输出构件时,此构件可以直接在构建规范文件的
artifacts
部分下定义。在指定了多个输出构件时,引用的所有构件都必须在构建规范文件中定义为辅助构件。中输出工件的名称 CodePipeline 必须与构建规范文件中的构件标识符相匹配。注意
在 CodeBuild 项目中配置的构件将成为管道操作中的 CodePipeline 输入构件。
如果为批量构建选择了
CombineArtifacts
参数,则输出构件位置将包含在同一执行中运行的多个构建的合并构件。
输出变量
此操作将生成在构建中导出的所有环境变量作为变量。有关如何导出环境变量的更多详细信息,请参阅Amazon CodeBuild API指南 EnvironmentVariable中的。
有关在中使用 CodeBuild 环境变量的更多信息 CodePipeline,请参阅中的示例CodeBuild 操作输出变量。有关可在中使用的环境变量的列表 CodeBuild,请参阅《Amazon CodeBuild 用户指南》中的构建环境中的环境变量。
操作声明(CodeBuild 示例)
另请参阅
下列相关资源在您使用此操作的过程中会有所帮助。
-
Amazon CodeBuild 用户指南-有关带有 CodeBuild 操作的管道示例,请参阅 CodePipeline 与一起使用 CodeBuild 来测试代码和运行构建。有关具有多个输入和输出 CodeBuild 构件的项目的示例,请参阅与 CodeBuild 多个输入源CodePipeline集成和输出构件示例以及多个输入源和输出构件示例。
-
教程:创建用于构建和测试您的 Android 应用程序的管道 Amazon Device Farm— 本教程提供了示例构建规范文件和示例应用程序,用于创建管道,其 GitHub 源代码使用和构建和测试 Android 应用程序 Amazon Device Farm。 CodeBuild
-
的编译规范参考 CodeBuild — 本参考主题为理解 CodeBuild 编译规范文件提供了定义和示例。有关可在中使用的环境变量的列表 CodeBuild,请参阅《Amazon CodeBuild 用户指南》中的构建环境中的环境变量。