ビルド環境の環境変数
AWS CodeBuild には、ビルドコマンドで使用できるいくつかの環境変数が用意されています。
- AWS_DEFAULT_REGION
-
ビルドが実行されている AWS リージョン (例:
us-east-1
)。この環境変数は、AWS CLI で主に使用されます。 - AWS_REGION
-
ビルドが実行されている AWS リージョン (例:
us-east-1
)。この環境変数は、AWS SDK で主に使用されます。 - CODEBUILD_BATCH_BUILD_IDENTIFIER
-
バッチビルドでのビルドの識別子。これは、バッチの buildspec で指定されています。詳細については、「バッチビルドのビルド仕様 (buildspec) のリファレンス」を参照してください。
- 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
)。ユーザーがビルドを開始した場合は、ユーザーの名前を表します (例: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。この変数は、ビルドプロジェクトでパブリックビルドが有効になっている場合にのみ設定されます。詳細については、「パブリックビルドプロジェクトの URL を取得」を参照してください。
- CODEBUILD_RESOLVED_SOURCE_VERSION
-
ビルドのソースコードのバージョンの識別子。内容は、以下のようなソースコードリポジトリによって異なります。
- CodeCommit、GitHub、GitHub Enterprise Server、Bitbucket
-
この変数には、コミット ID が含まれます。
- CodePipeline
-
この変数には、CodePipeline によって提供されるソースのリビジョンが含まれます。
ソースがバージョニングが有効になっていない Amazon S3 バケットである場合など、CodePipeline がソースリビジョンを解決できない場合、この環境変数は設定されません。
- 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 プルリクエストがスカッシュ戦略とマージされ、プルリクエストブランチが閉じられたときに設定されます。この場合、元のプルリクエストコミットは存在しなくなるため、この環境変数には圧縮されたマージコミットの識別子が含まれます。
- 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
-
- HOME
-
この環境変数は常に「
/root
」に設定されます。
AWS CodeBuild は、セルフホスト型ランナービルド用の一連の環境変数もサポートしています。CodeBuild セルフホスト型ランナーの詳細については、「チュートリアル: CodeBuild がホストする GitHub Actions ランナーを設定」を参照してください。
- 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
-
ウェブフックのリクエストペイロードに存在する場合、ビルドに関連付けられたワークフローの名前です。
- CODEBUILD_RUNNER_WITH_BUILDSPEC
-
buildspec の上書きがセルフホスト型ランナーリクエストラベルで設定されている場合、これは
true
に設定されます。
独自の環境変数を持つビルド環境を提供することもできます。詳細については、以下のトピックを参照してください。
ビルド環境で使用できる環境変数を一覧表示するには、構築時に printenv
コマンド (Linux ベースのビルド環境) または "Get-ChildItem Env:"
(Windows ベースのビルド環境) を実行できます。前述のものを除いて、「CODEBUILD_
」で始まる環境変数は、CodeBuild の内部使用のためのものです。それらはビルドコマンドで使用できません。
重要
機密情報 (特に AWS アクセスキー ID) を保存する場合は、環境変数を使用しないことを強くお勧めします。環境変数は、CodeBuild コンソールや AWS CLI などのツールを使用してプレーンテキストで表示できます。
機密値は Amazon EC2 Systems Manager パラメータストアに保存後、ビルド仕様から取得することをお勧めします。重要な値を保存するには、Amazon EC2 Systems Manager ユーザーガイドの「Systems Manager パラメータストア」および「チュートリアル: String パラメータの作成とテスト (コンソール)」を参照してください。これらを取得するには、「parameter-store
」の buildspec の構文 マッピングを参照してください。