本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建环境中的环境变量
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_
-
构建的Amazon on on 资源名称 (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
)。 - 代码生成_BUILD_IMAGE
-
CodeBuild构建映像标识符(例如
aws/codebuild/standard:2.0
)。 - CODEBUILD_BUILD_
-
项目的生成规范。
- CODEBUILD_BUILD_CU
-
当前版本是否成功。如果构建失败,设置为
0
;如果构建成功,设置为1
。 - CODEBUILD_发起者
-
开始构建的实体。如果 CodePipeline 启动了生成,那么这就是管道的名称(例如
codepipeline/my-demo-pipeline
)。如果用户启动了构建,则这是该用户的名称(例如MyUserName
)。如果适用于 CodeBuild 的 Jenkins 插件启动了生成,那么这就是字符串CodeBuild-Jenkins-Plugin
。 - CODEBUILD_KMS_KEY_ID
-
用于加密生成输出工CodeBuild件的Amazon KMS密钥的标识符(例如,
arn:aws:kms:
或region-ID
:account-ID
:key/key-ID
alias/
)。key-alias
- 代码生成日志路径
-
LogCloudWatch s 中用于构建的日志流名称。
- CODEBUILD_PUBLIC_BUILD_
- CODEBUILD_RESOLVED_SOURCE_
-
版本源代码的版本标识符。内容取决于源代码存储库:
- CodeCommit、GitHub、GitHub企业服务器和 Bitbucket
-
此变量包含提交 ID。
- CodePipeline
-
此变量包含由提供的源修订版CodePipeline。
如果CodePipeline无法解析源版本,例如源是未启用版本控制的 Amazon S3 存储桶,则不设置此环境变量。
- Amazon S3
-
未设置此变量。
如果适用,该
CODEBUILD_RESOLVED_SOURCE_VERSION
变量仅在该DOWNLOAD_SOURCE
阶段之后才可用。 - CODEBUILD_SOURCE_REPO_
-
输入项目或源代码存储库的 URL。对于 Amazon S3,
s3://
后面是存储桶名称和输入对象的路径。对于CodeCommit和GitHub,这是存储库的克隆 URL。如果构建源自CodePipeline,则此环境变量可能为空。对于次要来源,辅助源存储库 URL 的环境变量是
CODEBUILD_SOURCE_REPO_URL_
,其中<sourceIdentifier>
是您创建的源标识符。<sourceIdentifier>
- CODEBUILD_SOURCE_
-
该值的格式取决于源存储库。
-
对于 Amazon S3,它是与输入工件关联的版本 ID。
-
对于 CodeCommit,这是与要生成的源代码的版本相关联的提交 ID 或分支名称。
-
对于GitHub EGitHub nerpion 资源名称。
注意
对于由 webhook 拉取请求事件触发的GitHub或GitHub企业服务器构建,则是
pr/
。pull-request-number
对于次要来源,辅助源版本的环境变量是
CODEBUILD_SOURCE_VERSION_
,其中<sourceIdentifier>
是您创建的源标识符。有关更多信息,请参阅多输入源和输出构件示例:<sourceIdentifier>
-
- CODEBUILD_SRC_DIR
-
CodeBuild用于构建的目录路径(例如,
/tmp/src123456789/src
)。对于次要源,辅助源目录路径的环境变量是
CODEBUILD_SRC_DIR_
,其中<sourceIdentifier>
是您创建的源标识符。有关更多信息,请参阅多输入源和输出构件示例:<sourceIdentifier>
- 代码生成开始时间
-
编译的开始时间指定为 Unix 时间戳,以毫秒为单位。
- CODEBUILD_WEBHOOK_ACTOR_ACCOUNT_ID
-
触发 webhook 事件的用户的账户 ID。
- CODEBUILD_WEBHOOK_BASE_REF
-
触发当前编译的 webhook 事件的基本引用名称。对于拉取请求,这是分支引用。
- CODEBUILD_WEBHOOK_E
-
触发当前编译的 webhook 事件。
- CODEBUILD_WEBHOOK_MERGE_COM
-
用于构建的合并提交的标识符。此变量是在 Bitbucket 拉取请求与 squash 策略合并并且拉取请求分支关闭时设置的。在这种情况下,原始的拉取请求提交已不存在,因此此环境变量包含压缩后的合并提交的标识符。
- CODEBUILD_WEBHOOK_PREV_CO
-
触发当前编译的 webhook 推送事件之前的最新提交的 ID。
- CODEBUILD_WEBHOOK_HEAD_REF
-
触发当前编译的 webhook 事件的头部引用名称。它可以是分支引用或标签引用。
- CODEBUILD_WEBHOOK_TRI
-
显示触发编译的 webhook 事件。此变量仅适用于 Webhook 触发的构建。该值是从GitHub企业服务器或 Bitbucket 发送到CodeBuild的GitHub有效负载中解析出来的。该值的格式取决于触发构建的事件类型。
-
对于拉取请求触发的构建,这是
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 参数存储中,然后从您的构建规范中检索这些值。要存储敏感值,请参阅 Amazon EC2 Systems Manager 系统管理器用户指南中的系统管理器参数存储和演练:创建和测试字符串参数(控制台)。要检索它们,请参阅构建规范语法中的 parameter-store
映射。