ビルド環境の環境変数 - AWS CodeBuild

ビルド環境の環境変数

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)。IAM ユーザーがビルドを開始した場合は、これはユーザーの名前です (例: 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。この変数は、ビルドプロジェクトでパブリックビルドが有効になっている場合にのみ設定されます。詳細については、「AWS CodeBuild でのパブリックビルドプロジェクト」を参照してください。

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」に設定されます。

独自の環境変数を持つビルド環境を提供することもできます。詳細については、以下のトピックを参照してください。

ビルド環境で使用できる環境変数を一覧表示するには、構築時に 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 の構文 マッピングを参照してください。