建置環境中的環境變數 - AWS CodeBuild

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建置環境中的環境變數

AWS CodeBuild 提供數個環境變數,您可以在建置命令中使用:

AWS_DEFAULT_REGION

執行建置 AWS 的區域 (例如 us-east-1)。此環境變數主要由 AWS CLI使用。

AWS_REGION

執行建置 AWS 的區域 (例如 us-east-1)。此環境變數主要由 使用 AWS SDKs。

CODEBUILD_BATCH_BUILD_IDENTIFIER

批次建置中建置的識別符。這是在批次組建規格中指定的。如需詳細資訊,請參閱Batch 量生成構建規範參考

CODEBUILD_BUILD_ARN

建置的 Amazon Resource Name (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)。如果使用者開始建置,這是使用者的名稱 (例如 MyUserName)。如果 的 Jenkins 外掛程式 CodeBuild 已啟動建置,則這是字串 CodeBuild-Jenkins-Plugin

CODEBUILD_KMS_KEY_ID

CodeBuild 用來加密建置輸出成品的 AWS KMS 金鑰識別碼 (例如 arn:aws:kms:region-ID:account-ID:key/key-IDalias/key-alias)。

CODEBUILD_LOG_PATH

建置之 Logs 中的 CloudWatch 日誌串流名稱。

CODEBUILD_PUBLIC_BUILD_URL

在公有URL建置網站上此建置的建置結果的 。只有在建置專案已啟用公有建置時,才會設定此變數。如需詳細資訊,請參閱取得公有建置專案 URLs

CODEBUILD_RESOLVED_SOURCE_VERSION

建置原始碼的版本識別碼。內容取決於原始程式碼儲存庫:

CodeCommit、 GitHub、 GitHub Enterprise 伺服器和 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、 GitHub Enterprise Server 或 Bitbucket 傳送至 的承載剖析。該值的格式取決於觸發建置的事件類型。

  • 對於提取請求觸發的建置,它是 pr/pull-request-number

  • 對於建立新分支或將遞交推送至分支而觸發的建置,它是 branch/branch-name

  • 對於將標籤推送到儲存庫而觸發的建置,它是 tag/tag-name

HOME

此環境變數一律設定為 /root

AWS CodeBuild 也支援一組自我託管 Runner 建置的環境變數。若要進一步了解 CodeBuild 自我託管 Runner,請參閱 教學課程:設定 CodeBuild GitHub託管動作執行器

CODEBUILD_RUNNER_OWNER

觸發自我託管 Runner 建置的儲存庫擁有者。

CODEBUILD_RUNNER_REPO

觸發自我託管 Runner 建置的儲存庫名稱。

CODEBUILD_RUNNER_REPO_DOMAIN

觸發自我託管 Runner 建置的儲存庫網域。只有指定的 GitHub Enterprise 建置。

CODEBUILD_WEBHOOK_LABEL

在建置期間用於設定建置覆寫和自我託管執行器的標籤。

CODEBUILD_WEBHOOK_RUN_ID

與建置相關聯的工作流程執行 ID。

CODEBUILD_WEBHOOK_JOB_ID

與建置相關聯的任務 ID。

CODEBUILD_WEBHOOK_WORKFLOW_NAME

如果 webhook 請求承載中存在,則與建置相關聯的工作流程名稱。

CODEBUILD_RUNNER_WITH_BUILDSPEC

如果在自我託管執行器請求標籤中設定 buildspec 覆寫,則會將此設定為 true

您也可以為建置環境提供您自己的環境變數。如需詳細資訊,請參閱下列主題:

若要列出建置環境中所有可用的環境變數,您可以在建置期間執行 printenv 命令 (適用於 Linux 建置環境) 或 "Get-ChildItem Env:" (適用於 Windows 建置環境)。除了上述項目之外,開頭為 的環境變數CODEBUILD_僅供 CodeBuild 內部使用。因此,您不應將它們用在建置命令中。

重要

我們強烈不建議使用環境變數來儲存敏感值,尤其是 AWS 存取金鑰 IDs。環境變數可以使用 CodeBuild 主控台和 等工具以純文字顯示 AWS CLI。

我們建議您將敏感值存放在 Amazon EC2 Systems Manager 參數存放區中,然後從建置規格中擷取這些值。若要儲存敏感值,請參閱 Amazon EC2 Systems Manager 使用者指南 中的 Systems Manager 參數存放區和逐步解說:建立和測試字串參數 (主控台)。若要擷取這些值,請參閱 Buildspec 語法 中的 parameter-store 映射。