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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

构建环境中的环境变量

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 资源名称 (ARNarn: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-IDalias/key-alias)。

代码生成日志路径

LogCloudWatch s 中用于构建的日志流名称。

CODEBUILD_PUBLIC_BUILD_

公共版本网站上此版本的生成结果的 URL。只有在构建项目启用了公共编译时,才会设置此变量。有关更多信息,请参阅

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 映射。