本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建置環境中的環境變數
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-ID
alias/
)。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
映射。