构建环境中的环境变量 - AWS CodeBuild
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

构建环境中的环境变量

AWS CodeBuild 提供了您可以在构建命令中使用的多个环境变量:

AWS_DEFAULT_REGION

运行构建的 AWS 区域(例如,us-east-1)。此环境变量主要由 AWS CLI 使用。

AWS_REGION

运行构建的 AWS 区域(例如,us-east-1)。此环境变量主要由 AWS SDKs 使用。

CODEBUILD_BATCH_BUILD_IDENTIFIER

批量构建中的构建的标识符。这是在批量构建规范中指定的。有关更多信息,请参阅 批量构建规范参考

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_NUMBER

项目的当前构建编号。

CODEBUILD_BUILD_SUCCEEDING

当前构建是否成功。如果构建失败,设置为 0;如果构建成功,设置为 1

CODEBUILD_INITIATOR

启动构建的实体。如果 CodePipeline 启动了生成,那么这就是管道的名称(例如 codepipeline/my-demo-pipeline)。如果 IAM 用户启动了生成,那么这就是用户的名称(例如 MyUserName)。如果适用于 CodeBuild 的 Jenkins 插件启动了生成,那么这就是字符串 CodeBuild-Jenkins-Plugin

CODEBUILD_KMS_KEY_ID

用于加密构建输出项目的 AWS KMS 密钥的标识符(例如,CodeBuild 或 arn:aws:kms:region-ID:account-ID:key/key-ID)。alias/key-alias

CODEBUILD_LOG_PATH

中有关构建的日志流名称。CloudWatch Logs

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_ACCOUNT_ID

触发 Webhook 事件的用户的账户 ID。

CODEBUILD_WEBHOOK_BASE_REF

触发当前构建的 Webhook 事件的基本引用名称。对于拉取请求,这是分支引用。

CODEBUILD_WEBHOOK_EVENT

触发当前构建的 Webhook 事件。

CODEBUILD_WEBHOOK_MERGE_COMMIT

用于构建的合并提交的标识符。此变量在 Bitbucket 拉取请求与 squash 策略合并且拉取请求分支关闭时设置。在这种情况下,原始拉取请求提交不再存在,因此此环境变量包含已压缩的合并提交的标识符。

CODEBUILD_WEBHOOK_PREV_COMMIT

触发当前构建的 Webhook 推送事件之前最近提交的 ID。

CODEBUILD_WEBHOOK_HEAD_REF

触发当前构建的 Webhook 事件的头部引用名称。它可以是分支引用或标签引用。

CODEBUILD_WEBHOOK_TRIGGER

显示触发构建的 Webhook 事件。此变量仅适用于 Webhook 触发的构建。该值是从 CodeBuild、GitHub Enterprise Server 或 Bitbucket 发送到 GitHub 的负载解析的。该值的格式取决于触发构建的事件类型。

  • 对于拉取请求触发的构建,这是 pr/pull-request-number

  • 对于通过创建新分支或将提交操作推送到分支而触发的构建,这是 branch/branch-name

  • 对于通过将标签推送到存储库而触发的构建,这是 tag/tag-name

主页

此环境变量始终设置为 /root

您也可以为构建环境提供您自己的环境变量。有关更多信息,请参阅以下主题:

要列出构建环境中的所有可用环境变量,在构建期间,您可以运行 printenv 命令(针对基于 Linux 的构建环境)或 "Get-ChildItem Env:"(针对基于 Windows 的构建环境)。除之前列出的这些变量之外,以 CODEBUILD_ 开始的环境变量供 CodeBuild 内部使用。它们不应用于您的构建命令。

重要

我们强烈建议不要使用环境变量存储敏感值,尤其是 AWS 访问密钥 IDs 和秘密访问密钥。使用 CodeBuild 控制台和 AWS CLI 等工具能够以纯文本格式显示环境变量。

我们建议您将敏感值存储在 Amazon EC2 Systems Manager Parameter Store 中,然后从您的构建规范中检索它们。要存储敏感值,请参阅 Systems Manager Parameter Store演练: 用户指南 中的创建并测试字符串参数(控制台)Amazon EC2 Systems Manager。要检索它们,请参阅构建规范语法中的 parameter-store 映射。