本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建环境中的环境变量
Amazon CodeBuild 提供了您可以在构建命令中使用的多个环境变量:
- AWS_DEFAULT_REGION
-
这些区域有:Amazon:运行生成的区域 (例如,
us-east-1
)。此环境变量主要由 Amazon CLI 使用。 - AWS_REGION
-
这些区域有:Amazon:运行生成的区域 (例如,
us-east-1
)。此环境变量主要由 Amazon 开发工具包使用。 - CODEBUILD_BATCH_BUILD_标识符
-
批处理构建中生成的标识符。这是在批量生成规范中指定的。有关更多信息,请参阅Batch 构建 buildspec 参考。
- CODEBUILD_BUILD_ARN
-
:构建的 Amazon 资源名称 (ARN) (例如,
arn:aws:codebuild:
)。region-ID
:account-ID
:build/codebuild-demo-project:b1e6661e-e4f2-4156-9ab9-82a19EXAMPLE - CODEBUILD_BUILD_ID
-
:构建的 CodeBuild ID (例如,
codebuild-demo-project:b1e6661e-e4f2-4156-9ab9-82a19EXAMPLE
)。 - CODEBUILD_BUILD_IMAGE
-
CodeBuild 构建映像标识符 (例如,
aws/codebuild/standard:2.0
)。 - CODEBUILD_BUILD_数字
-
项目的当前构建编号。
- CODEBUILD_BUILD_成功
-
无论当前构建是否成功。如果构建失败,设置为
0
;如果构建成功,设置为1
。 - CODEBUILD_启动器
-
启动构建的实体。如果 CodePipeline 启动了生成,那么这就是管道的名称(例如,
codepipeline/my-demo-pipeline
)。如果 IAM 用户启动了生成,那么这就是用户的名称(例如,MyUserName
)。如果适用于 CodeBuild 的 Jenkins 插件启动了生成,那么这就是字符串。CodeBuild-Jenkins-Plugin
. - CODEBUILD_KMS_KEY_ID
-
的标识符Amazon KMSCodeBuild 用于加密构建输出项目的密钥(例如,
arn:aws:kms:
要么region-ID
:account-ID
:key/key-ID
alias/
)。key-alias
- CODEBUILD_LOG_PATH
-
CloudWatch Logs 中有关构建的日志流名称。
- CODEBUILD_PUBLIC _BUILD_URL
- CODEBUILD_RESOLVED_SOURCE_VERSION
-
构建的源代码的版本标识符。其内容取决于源代码存储库:
- CodeCommit、GitHub、GitHub Enterprise Server 和 Bitbucket
-
此变量包含提交 ID。
- CodePipeline
-
此变量包含 CodePipeline 提供的源版本。
如果 CodePipeline 无法解析源修订版本,例如源是未启用版本控制的 Amazon S3 存储桶,则不会设置此环境变量。
- Amazon S3
-
未设置此变量。
如果适用,
CODEBUILD_RESOLVED_SOURCE_VERSION
变量仅在DOWNLOAD_SOURCE
阶段。 - CODEBUILD_SOURCE_REPO_URL
-
对于输入项目或源代码存储库的 URL。对于 Amazon S3,这是
s3://
后跟存储桶名称和输入项目的路径。对于 CodeCommit 和 GitHub,这是存储库的克隆 URL。如果生成源自 CodePipeline,则此环境变量可能为空。对于辅助源,辅助源存储库 URL 的环境变量为
CODEBUILD_SOURCE_REPO_URL_
,其中,<sourceIdentifier>
是你创建的源标识符。<sourceIdentifier>
- CODEBUILD_SOURCE_VERSION
-
该值的格式取决于源代码存储库。
-
对于 Amazon S3,这是与输入项目相关联的版本 ID。
-
对于 CodeCommit,这是与要生成的源代码的版本相关联的提交 ID 或分支名称。
-
对于 GitHub、GitHub Enterprise Server 和 Bitbucket,这是与要生成的源代码的版本相关联的提交 ID、分支名称或标签名称。
注意 对于由 Webhook 拉取请求事件触发的 GitHub 或 GitHub Enterprise Server 构建,这是
pr/
。pull-request-number
对于辅助源,辅助源版本的环境变量为
CODEBUILD_SOURCE_VERSION_
,其中,<sourceIdentifier>
是你创建的源标识符。有关更多信息,请参阅多输入源和输出构件示例。<sourceIdentifier>
-
- CODEBUILD_SRC_DIR
-
CodeBuild 用于构建的目录路径 (例如,
/tmp/src123456789/src
)。对于辅助源,辅助源目录路径的环境变量为
CODEBUILD_SRC_DIR_
,其中,<sourceIdentifier>
是你创建的源标识符。有关更多信息,请参阅多输入源和输出构件示例。<sourceIdentifier>
- CODEBUILD_START_TIME
-
指定构建为 Unix 时间戳的开始时间(以毫秒为单位)。
- CODEBUILD_WEBHOOK _ACTOR_帐户_ID
-
触发 Webhook 事件的用户的账户 ID。
- CODEBUILD_WEBHOOK _BASE_REF
-
触发当前构建的 Webhook 事件的基本引用名称。对于拉取请求,这是分支引用。
- CODEBUILD_WEBHOOK _ 事件
-
触发当前构建的 Webhook 事件。
- CODEBUILD_WEBHOOK _MERGE_COMMIT
-
用于构建的合并提交的标识符。此变量是在 Bitbucket 拉取请求与壁球策略合并且拉取请求分支关闭时设置的。在这种情况下,原始的拉取请求提交不再存在,因此此环境变量包含压缩合并提交的标识符。
- CODEBUILD_WEBHOOK _PREV_COMMIT
-
在触发当前构建的 Webhook 推送事件之前最新提交的 ID。
- CODEBUILD_WEBHOOK _HEAD_REF
-
触发当前构建的 Webhook 事件的头部引用名称。它可以是分支引用或标签引用。
- CODEBUILD_WEBHOOK _ 触发器
-
:显示触发构建的 Webhook 事件。此变量仅适用于 Webhook 触发的构建。该值是从通过 GitHub、GitHub Enterprise Server 或 Bitbucket 发送到 CodeBuild 的有效负载解析的。该值的格式取决于触发构建的事件类型。
-
对于拉取请求触发的构建,这是
pr/
。pull-request-number
-
对于通过创建新分支或将提交操作推送到分支而触发的构建,这是
branch/
。branch-name
-
对于通过将标签推送到存储库而触发的构建,这是
tag/
。tag-name
-
- 主页
-
此环境变量始终设置为
/root
.
您也可以为构建环境提供您自己的环境变量。有关更多信息,请参阅以下主题:
要列出构建环境中的所有可用环境变量,在构建期间,您可以运行 printenv
命令(针对基于 Linux 的构建环境)或 "Get-ChildItem Env:"
(针对基于 Windows 的构建环境)。除之前列出的这些变量之外,以开始的环境变量。CODEBUILD_
供 CodeBuild 内部使用。它们不应用于您的构建命令。
我们强烈建议不要使用环境变量存储敏感值,尤其是 Amazon 访问密钥 ID 和秘密访问密钥。使用 CodeBuild 控制台和等工具能够以纯文本格式显示环境变量。Amazon CLI.
我们建议您将敏感值存储在 Amazon EC2 Systems Manager Parameter Store 中,然后从您的构建规范中检索它们。要存储敏感值,请参阅Systems Manager Parameter Store和演练:创建和测试参数(控制台)中的Amazon EC2 Systems Manager 用户指南. 要检索它们,请参阅构建规范语法中的 parameter-store
映射。