本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CodeBuild 提供數個環境變數,您可以在建置命令中使用:
- AWS_DEFAULT_REGION
-
組建執行所在的 AWS 區域 (例如
us-east-1
)。此環境變數主要由 AWS CLI使用。 - AWS_REGION
-
組建執行所在的 AWS 區域 (例如
us-east-1
)。此環境變數主要由 AWS SDKs使用。 - CODEBUILD_BATCH_BUILD_IDENTIFIER
-
批次組建中組建的識別符。這是在批次 buildspec 中指定的。如需詳細資訊,請參閱批次建置 buildspec 參考。
- 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
)。如果 CodeBuild 的 Jenkins 外掛程式已啟動建置,這是字串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
-
建置的 CloudWatch Logs 中的日誌串流名稱。
- CODEBUILD_PUBLIC_BUILD_URL
-
此組建在公有組建網站上的組建結果 URL。只有在建置專案已啟用公有建置時,才會設定此變數。如需詳細資訊,請參閱取得公有建置專案 URLs。
- 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 觸發的建置。此值會從 GitHub GitHub Enterprise Server 或 Bitbucket 傳送至 CodeBuild 的承載剖析。該值的格式取決於觸發建置的事件類型。
-
對於提取請求觸發的建置,它是
pr/
。pull-request-number
-
對於建立新分支或將遞交推送至分支而觸發的建置,它是
branch/
。branch-name
-
對於將標籤推送到儲存庫而觸發的建置,它是
tag/
。tag-name
-
- 首頁
-
此環境變數一律設定為
/root
。
AWS CodeBuild 也支援一組自我託管執行器建置的環境變數。若要進一步了解 CodeBuild 自我託管執行器,請參閱 教學課程:設定 CodeBuild 託管的 GitHub 動作執行器。
- CODEBUILD_RUNNER_OWNER
-
觸發自我託管執行器建置的儲存庫擁有者。
- CODEBUILD_RUNNER_REPO
-
觸發自我託管執行器建置的儲存庫名稱。
- CODEBUILD_RUNNER_REPO_DOMAIN
-
觸發自我託管執行器建置的儲存庫網域。只有指定的 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 參數存放區中,然後從 buildspec 擷取它們。若要存放敏感值,請參閱《Amazon EC2 Systems Manager 使用者指南》中的 Systems Manager 參數存放區和演練:建立和測試字串參數 (主控台)。若要擷取這些值,請參閱 Buildspec 語法 中的 parameter-store
映射。