AWS CodeBuild
ユーザーガイド (API バージョン 2016-10-06)

CodeBuild でビルドプロジェクトを作成する

CodeBuild コンソール、AWS CLI、または AWS SDK を使用して、ビルドプロジェクトを作成できます。

前提条件

ビルドを計画する の質問に答えます。

ビルドプロジェクトの作成 (コンソール)

  1. Open the AWS CodeBuild console at https://console.aws.amazon.com/codesuite/codebuild/home.

  2. CodeBuild の情報ページが表示された場合は、[ビルドプロジェクトの作成] を選択します。それ以外の場合は、ナビゲーションペインで [ビルド] を展開し、[ビルドプロジェクト] を選択してから、[Create build project (ビルドプロジェクトの作成)] を選択します。

  3. [Create build project (ビルドプロジェクトの作成)] を選択します。

  4. [Project configuration (プロジェクトの設定)] で、次のようにします。

    [Create build project (ビルドプロジェクトの作成)] ページの [Project configuration (プロジェクト設定)] で、[プロジェクト名] にこのビルドプロジェクトの名前を入力します。ビルドプロジェクト名は、各 アカウントで一意である必要があります。このプロジェクトの用途を他のユーザーが理解しやすいように、必要に応じてビルドプロジェクトの説明を含めることもできます。

    [Description (説明)] に、プロジェクトのオプションの説明を入力します。

    [Build badge (ビルドバッジ)] を選択すると、プロジェクトのビルドステータスが表示可能および埋め込み可能になります。詳細については、「ビルドバッジサンプル」を参照してください。

    注記

    ソースプロバイダーが Amazon S3 の場合、ビルドバッジは適用されません。

    [Additional configuration (追加設定)] を展開します。

    (オプション) [タグ] に、サポート対象の AWS のサービスで使用するタグの名前と値を入力します。[Add row] を使用して、タグを追加します。最大 50 個のタグを追加できます。

  5. [Source (ソース)] で、次のようにします。

    [ソースプロバイダー] で、ソースコードプロバイダーのタイプを選択します。次のテーブルを使用して、ソースプロバイダに関する適切な選択を行います。

    注記

    CodeBuild は Bitbucket Server をサポートしていません。

    ソースプロバイダ Amazon S3 CodeCommit Bitbucket GitHub GitHub Enterprise

    [バケット] で、ソースコードが格納されている入力バケットの名前を選択します。

    X

    [S3 オブジェクトキーまたは S3 フォルダ] に、ZIP ファイルの名前、またはソースコードを含むフォルダへのパスを入力します。S3 バケットの中身をすべてダウンロードするには、スラッシュ記号 (/) を入力します。

    X

    [OAuth を使用して接続する] または [Bitbucket アプリパスワードで接続する] を選択し、手順に従って Bitbucket に接続 (または再接続) します。

    X

    [OAuth を使用して接続する] または [GitHub の個人用アクセストークンで接続する] を選択し、手順に従って GitHub に接続 (または再接続) して、AWS CodeBuild へのアクセスを許可します。

    X

    [個人用アクセストークン] については、GitHub Enterprise のサンプル で個人用アクセストークンのクリップボードにコピーする方法に関する情報を参照してください。テキストフィールドにトークンを貼り付け、[トークンの保存] を選択します。

    注記

    個人用アクセストークンは、一回のみ入力して保存する必要があります。CodeBuild では、以降のすべてのプロジェクトにこのトークンを使用します。

    X

    [リポジトリ] で、使用するリポジトリを選択します。

    X

    [Reference type (リファレンスタイプ)] で、[ブランチ] または [Git タグ] を選択するか、[コミット ID] を入力して、ソースコードのバージョンを指定します。詳細については、「CodeBuild のソースバージョンのサンプル」を参照してください。

    X

    [リポジトリ] で、パブリックのリポジトリを使用するかアカウント内のリポジトリを使用するかを選択します。

    X X

    [リポジトリの URL] は、パブリックのリポジトリを使用する場合にのみ使用します。この URL を入力します。URL には、ソースプロバイダーの名前が含まれている必要があります。たとえば、Bitbucket URL には、「bitbucket.org」が含まれている必要があります。

    X X

    ソースプロバイダーが Amazon S3 である場合は、[ソースバージョン] に、入力ファイルのビルドを表すオブジェクトのバージョン ID を入力します。ソースプロバイダーが GitHub または GitHub エンタープライズである場合は、プルリクエスト、ブランチ、コミット ID、タグ、参照、およびコミット ID を入力します。ソースプロバイダーが Bitbucket である場合は、ブランチ、コミット ID、タグ、または参照とコミット ID を入力します。詳細については、「CodeBuild のソースバージョンのサンプル」を参照してください。

    X X X X

    [Git のクローンの深さ] を選択して、指定されるコミット数で切り捨てられる履歴の浅いクローンを作成します。完全クローンを希望する場合には、[Full (完全)] を選択します。

    X X X X

    リポジトリに Git サブモジュールを含める場合は、[Git サブモジュールを使用する] を選択します。

    X X X X

    ビルドの開始と終了のステータスをソースプロバイダーにレポートする場合は、[ビルドの開始と終了時にソースプロバイダーにビルドステータスをレポートする] を選択します。

    注記

    ウェブフックによってトリガーされたビルドのステータスは常にソースプロバイダーにレポートされます。

    X X X

    CodeBuild でコード変更がこのリポジトリにプッシュされるたびにソースコードをビルドするには、[コードの変更がこのレポジトリにプッシュされるたびに再構築する] を選択します。ウェブフックは、自身の Bitbucket、GitHub、または GitHub Enterprise リポジトリでのみ許可されています。

    X X X

    [イベントタイプ] で [コードの変更がこのレポジトリにプッシュされるたびに再構築する] を選択した場合は、ビルドをトリガーするイベントを選択します。フィルタを作成するには正規表現を使用します。フィルタを指定しない場合、プルリクエストのすべての更新および作成と、すべてのプッシュイベントで、ビルドがトリガーされます。詳細については、「 GitHub ウェブフックイベントのフィルタリング」および「 Bitbucket ウェブフックイベントのフィルタリング」を参照してください。

    X X X

    GitHub Enterprise プロジェクトリポジトリに接続するときに SSL 警告を無視するには、[セキュアでない SSL] を選択します。

    X

    使用する各セカンダリソース:

    1. [ソースの追加] を選択します。

    2. [ソース識別子] には、英数字とアンダースコアのみを使用して 128 文字未満の値を入力します。

    3. [ソースプロバイダ] で、ソースコードプロバイダのタイプを選択します。このステップの前述のテーブルを使用して、セカンダリソースプロバイダーに適切な選択を行います。

  6. [環境] で以下の操作を行います。

    [Environment image (環境イメージ)] で、次のいずれかの操作を行います。

    • AWS CodeBuild が管理する Docker イメージを使用するには、[Managed image (マネージドイメージ)] を選択し、次に [オペレーティングシステム]、[ランタイム]、および [ランタイムバージョン] で適切な選択を行います。

    • 別の Docker イメージを使用するには、[カスタムイメージ] を選択します。[Environment type (環境タイプ)] で、[Linux] または [Windows] を選択します。[Custom image type (カスタムイメージタイプ)] で [Amazon ECR] または [Other location (その他の場所)] を選択します。[Other location (その他の場所)] を選択した場合は、docker repository/docker image name の形式に従って Docker Hub の Docker イメージの名前とタグを入力します。[Amazon ECR] を選択した場合は、[Amazon ECR repository (ECR リポジトリ)] および [Amazon ECR image (ECR イメージ)] を使用して AWS アカウントの Docker イメージを選択します。

    • プライベート Docker イメージを使用するには、[カスタムイメージ] を選択します。[環境タイプ] で、[Linux] または [Windows] を選択します。[カスタムイメージタイプ] で、[Other location (その他の場所)] を選択し、プライベート Docker イメージの Amazon リソースネーム (ARN) を入力します。認証情報は、AWS Secrets Manager で作成する必要があります。詳細については、「AWS Secrets Manager とは」を参照してください。

    (オプション) このビルドプロジェクトを使用して Docker イメージを作成し、選択したビルド環境イメージが Docker サポート付きの CodeBuild によって提供されない場合にのみ、[特権付与] を選択します。それ以外の場合、関連付けられているビルドで Docker デーモンと通信しようとすると、すべて失敗します。ビルドが Docker デーモンと連係動作できるように、Docker デーモンも起動する必要があります。これを行う 1 つの方法は、次のビルドコマンドを実行してビルドスペックの install フェーズで Docker デーモンを初期化することです。Docker をサポートする CodeBuild によって提供されるビルド環境イメージを選択した場合は、これらのコマンドを実行しないでください。

    - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay& - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"

    [Service role (サービスロール)] で、次のいずれかの操作を行います。

    • CodeBuild サービスロールがない場合は、[New service role (新しいサービスロール)] を選択します。[Role name (ロール名)] で、デフォルト名を受け入れるか、独自の名前を入力します。

    • CodeBuild サービスロールがある場合は、[Existing service role (既存のサービスロール)] を選択します。[Role name (ロール名)] で、サービスロールを選択します。

    注記

    コンソールでは、ビルドプロジェクトの作成時や更新時に CodeBuild サービスロールも作成できます。デフォルトでは、ロールはそのビルドプロジェクトでのみ使用できます。コンソールでは、このサービスロールを別のビルドプロジェクトと関連付けると、この別のビルドプロジェクトで使用できるようにロールが更新されます。サービスロールでは最大 10 個のビルドプロジェクトを使用できます。

    [Additional configuration (追加設定)] を展開します。

    (オプション) [タイムアウト] の場合は、5 分から 480 分 (8 時間) の間の値を指定します。この時間が経過すると、CodeBuild は完了していない場合にビルドを停止します。[hours] と [minutes] を空白のままにすると、デフォルト値の 60 分が使用されます。

    [VPC] で、次のいずれかの操作を行います。

    • プロジェクトに VPC を使用していない場合は、[非 VPC] を選択します。

    • CodeBuild で VPC を使用する場合:

      • [VPC] で、CodeBuild が使用する VPC ID を選択します。

      • [VPC Subnets (VPC サブネット)] で、CodeBuild が使用するリソースが含まれているサブネットを選択します。

      • [VPC セキュリティグループ] で、VPC 内のリソースへのアクセスを許可するために CodeBuild で使用するセキュリティグループを選択します。

    詳細については、「Amazon Virtual Private Cloud で CodeBuild を使用する」を参照してください。

    [Compute] で、以下のいずれかの利用可能なオプションを選択します。

    [環境変数] で、使用するビルドの各環境変数から、名前と値を選択後、タイプを選択します。[環境変数の追加] で、環境変数を追加します。

    注記

    CodeBuild は AWS リージョンの環境変数を自動的に設定します。それらを buildspec.yml に追加しない場合は、次の環境変数を設定する必要があります。

    • AWS_ACCOUNT_ID

    • IMAGE_REPO_NAME

    • IMAGE_TAG

    他のユーザーは、CodeBuild コンソールと AWS CLI を使用して環境変数を確認できます。環境変数の表示に懸念がない場合は、[Name] および [Value] フィールドを設定し、[Type] を [Plaintext] に設定します。

    Amazon EC2 Systems Manager パラメータストアには、AWS アクセスキー ID、AWS シークレットアクセスキー、またはパスワードなどの機密値を持つ環境変数をパラメータとして保存することをお勧めします。[タイプ] で [Parameter (パラメータ)] を選択します。[名前] に、参照する CodeBuild の識別子を入力します。[] に、Amazon EC2 Systems Manager パラメータストアに保存されているパラメータの名前を入力します。たとえば、/CodeBuild/dockerLoginPassword という名前のパラメータを使用して、[タイプ] で [Parameter (パラメータ)] を選択します。[名前] に「LOGIN_PASSWORD」と入力します。[Value] に、「/CodeBuild/dockerLoginPassword」と入力します。

    重要

    パラメータは /CodeBuild/ で始まるパラメータ名 (例: /CodeBuild/dockerLoginPassword) で、Amazon EC2 Systems Manager パラメータストアに保存することをお勧めします。CodeBuild コンソールを使用して Amazon EC2 Systems Manager にパラメータを作成することができます。[パラメータの作成] を選択し、ダイアログボックスの手順に従います。(ダイアログボックスでは、[KMS キー] の場合、オプションでアカウントの AWS KMS キーの ARN を指定できます。Amazon EC2 Systems Manager では、このキーを使用して、保存中にパラメータの値を暗号化し、取得中に復号します。) CodeBuild コンソールを使用してパラメータを作成した場合、コンソールは保存されている /CodeBuild/ パラメータ名を開始します。詳細については、『Amazon EC2 Systems Manager ユーザーガイド』の「Systems Manager パラメータストア」および「Systems Manager パラメータストアコンソールのチュートリアル」を参照してください。

    ビルドプロジェクトが Amazon EC2 Systems Manager パラメータストアに保存されているパラメータを参照する場合、ビルドプロジェクトのサービスロールで ssm:GetParameters アクションを許可する必要があります。以前に [新しいサービスロール] を選択した場合は自動的に、CodeBuild のビルドプロジェクトのデフォルトのサービスロールにこのアクションが含まれています。ただし [既存のサービスロール] を選択した場合は、このアクションをサービスロールに個別に含める必要があります。

    ビルドプロジェクトが、/CodeBuild/ で始まらないパラメータ名を持つ、Amazon EC2 Systems Manager パラメータストアに保存されているパラメータを参照し、[新しいサービスロール] を選択した場合、/CodeBuild/ で始まらないパラメータ名にアクセスできるようにサービスロールを更新する必要があります。これは、サービスロールで、/CodeBuild/ で始まるパラメータ名にのみアクセスが許可されるためです。

    [アカウントでサービスロールを作成] を選択した場合、作成されるサービスロールには、Amazon EC2 Systems Manager パラメータストアの /CodeBuild/ 名前空間ですべてのパラメータを復号するアクセス権限が含まれます。

    設定する環境変数により、既存の環境変数が置き換えられます。たとえば、Docker イメージに my_value の値を持つ MY_VAR という名前の環境変数が既に含まれていて、other_value の値を持つ MY_VAR という名前の環境変数を設定した場合、my_valueother_value に置き換えられます。同様に、Docker イメージに /usr/local/sbin:/usr/local/bin の値を持つ PATH という名前の環境変数が既に含まれていて、$PATH:/usr/share/ant/bin の値を持つ PATH という名前の環境変数を設定した場合、/usr/local/sbin:/usr/local/bin はリテラル値 $PATH:/usr/share/ant/bin に置き換えられます。

    CODEBUILD_ で始まる名前の環境変数は設定しないでください。このプレフィックスは内部使用のために予約されています。

    同じ名前の環境変数が複数の場所で定義されている場合は、その値は次のように決定されます。

    • ビルド開始オペレーション呼び出しの値が最も優先順位が高くなります。

    • ビルドプロジェクト定義の値が次に優先されます。

    • ビルド仕様宣言の値の優先順位が最も低くなります。

  7. [Buildspec (Buildspec)] で、次のようにします。

    [Build specifications (ビルド仕様)] で、次のいずれかの操作を行います。

    • ソースコードにビルド仕様ファイルが含まれている場合は、[Use a buildspec file (buildspec ファイルを使用)] を選択します。

    • ソースコードにビルド仕様ファイルが含まれていない場合、または、ソースコードのルートディレクトリで build ファイルの buildspec.yml フェーズに指定されているものと異なるビルドコマンドを実行する場合は、[ビルドコマンドの挿入] を選択します。[ビルドコマンド] に、build フェーズで実行するコマンドを入力します。複数のコマンドについては、&& で各コマンドを区切ります (例: mvn test && mvn package)。他のフェーズでコマンドを実行する場合、または build フェーズのコマンドの長いリストがある場合は、ソースコマンドのルートディレクトリに buildspec.yml ファイルを追加し、ファイルにコマンドを追加してから、[ソースコードのルートディレクトリの buildspec.yml を使用] を選択します。

    詳細については、「ビルドスペックリファレンス」を参照してください。

  8. [アーティファクト] で、次のようにします。

    [タイプ] で、以下のいずれかを実行します。

    • ビルド出力アーティファクトを作成しない場合は、[No artifacts] を選択します。ビルドテストのみを実行している場合や、Docker イメージを Amazon ECR リポジトリにプッシュする場合には、これを行うことができます。

    • ビルド出力を Amazon S3 バケットに保存する場合は、[Amazon S3] を選択して次のいずれかの操作を行います。

      • ビルド出力 ZIP ファイルまたはフォルダにプロジェクト名を使用する場合は、[Name (名前)] を空白のままにします。それ以外の場合は、名前を入力します (ZIP ファイルを出力して ZIP ファイルにファイル拡張子を付ける場合は、必ず ZIP ファイル名の後に含めます)。

      • buildspec ファイルで指定した名前で、コンソールで指定した名前を上書きする場合は、[Enable semantic versioning (セマンティックバージョニングを有効にする)] を選択します。buildspec ファイル内の名前は、ビルド時に計算され、Shell コマンド言語を使用します。たとえば、アーティファクト名に日付と時刻を追加して常に一意にできます。アーティファクト名を一意にすると、アーティファクトが上書きされるのを防ぐことができます。詳細については、「ビルド仕様の構文」を参照してください。

      • [Bucket name] で、出力バケットの名前を選択します。

      • この手順の前の方で [ビルドコマンドの挿入] を選択した場合は、[出力ファイル] に、ビルド出力 ZIP ファイルまたはフォルダに格納するビルドのファイルの場所を入力します。複数の場所の場合は、各場所をコンマで区切ります (appspec.yml, target/my-app.jar など)。詳細については、「ビルド仕様の構文」の files の説明を参照してください。

      • ビルドアーティファクトを暗号化しない場合は、[アーティファクト暗号化の削除] を選択します。

    アーティファクトのセカンダリセットごとに:

    1. [アーティファクト識別子] には、英数字とアンダースコアのみを使用して 128 文字未満の値を入力します。

    2. [アーティファクトの追加] を選択します。

    3. セカンダリアーティファクトを設定するには、前のステップに従います。

    4. [アーティファクトの保存] を選択します。

    [Additional configuration (追加設定)] を展開します。

    (オプション) [暗号化キー] で次のいずれかの操作を行います。

    • アカウントの Amazon S3 の AWS 管理の顧客マスターキー (CMK) を使用してビルド出力アーティファクトを暗号化するには、[暗号化キー] を空白のままにします。これがデフォルト値です。

    • カスタマー管理の CMK を使用してビルド出力アーティファクトを暗号化するには、[暗号化キー] に CMK の ARN を入力します。arn:aws:kms:region-ID:account-ID:key/key-ID の形式を使用します。

    [キャッシュタイプ] で、以下のいずれかを選択します。

    • キャッシュを使用しない場合は、[No cache] を選択します。

    • Amazon S3 キャッシュを使用するには、[Amazon S3] を選択して次の操作を行います。

      • [バケット] では、キャッシュが保存される Amazon S3 バケットの名前を選択します。

      • (オプション) [Cache path prefix (キャッシュパスのプレフィックス)] に、Amazon S3 パスプレフィックスを入力します。[キャッシュパスのプレフィックス] 値はディレクトリ名に似ています。これにより、バケット内の同じディレクトリにキャッシュを保存できます。

        重要

        パスのプレフィックスの末尾にスラッシュ (/) を付加しないでください。

    • ローカルキャッシュを使用する場合は、[ローカル] を選択し、ローカルキャッシュモードを 1 つ以上選択します。

      注記

      [Docker レイヤーキャッシュ] モードは Linux でのみ利用可能です。このモードを選択する場合、プロジェクトは権限モードで実行する必要があります。

    キャッシュを使用すると、再利用可能なビルド環境がキャッシュに保存され、ビルド全体で使用されるため、かなりのビルド時間が節約されます。ビルド仕様ファイルのキャッシュの指定に関する詳細については、「ビルド仕様の構文」を参照してください。キャッシングの詳細については、「CodeBuild でキャッシングをビルドする」を参照してください。

  9. [ログ] で、作成するログを選択します。Amazon CloudWatch Logs、Amazon S3 ログ、またはその両方を作成できます。

    必要に応じて Amazon CloudWatch Logs logs:

    • [CloudWatch ログ] を選択します。

    • [Group name (グループ名)] は、Amazon CloudWatch Logs ロググループの名前を入力します。

    • [Stream name (ストリーム名)] に、Amazon CloudWatch Logs ログストリーム名を入力します。

    必要に応じて Amazon S3 logs:

    • [S3 logs (S3 ログ)] を選択します。

    • [バケット] で、ログを保存する S3 バケットの名前を選択します。

    • [パスのプレフィックス] で、ログのプレフィックスを入力します。

    (オプション) この手順で以前に [アーティファクト] の [タイプ] で [Amazon S3] を選択した場合は、[アーティファクトのパッケージ化] で、次のいずれかの操作を行います。

    • ビルド出力を含む ZIP ファイルを CodeBuild で作成するには、[Zip] を選択します。

    • ビルド出力を含むフォルダを CodeBuild で作成するには、[なし] を選択します。(これがデフォルトです)

    • S3 ログを暗号化しない場合は、[Remove S3 log encryption] を選択します。

  10. [Create build project (ビルドプロジェクトの作成)] を選択します。

  11. [Review] ページで、[Start build (ビルドの開始)] を選択します。

ビルドプロジェクトを作成する (AWS CLI)

AWS CLI を CodeBuild と組み合わせて使用する方法については、「コマンドラインリファレンス」を参照してください。

  1. create-project コマンドを実行します。

    aws codebuild create-project --generate-cli-skeleton

    JSON 形式のデータが出力に表示されます。AWS CLI がインストールされているローカルコンピュータまたはインスタンス上の場所にあるファイル (例: create-project.json) にデータをコピーします。コピーされたデータを次のように変更して、結果を保存します。

    { "name": "project-name", "description": "description", "source": { "type": "source-type", "location": "source-location", "gitCloneDepth": "gitCloneDepth", "buildspec": "buildspec", "InsecureSsl": "InsecureSsl", "reportBuildStatus": reportBuildStatus", "gitSubmodulesConfig": { "fetchSubmodules": "fetchSubmodules" }, "auth": { "type": "auth-type", "resource": "resource" } }, ”sourceVersion”: “source-version”, “secondarySourceVersions”: { “sourceIdentifier”: ”secondary-source-identifier”, “sourceVersion”: ”secondary-source-version” }, "artifacts": { "type": "artifacts-type", "location": "artifacts-location", "path": "path", "namespaceType": "namespaceType", "name": "artifacts-name", "overrideArtifactName": "override-artifact-name", "packaging": "packaging" }, "cache": { "type": "cache-type", "location": "cache-location", "mode": [ "cache-mode" ] }, "logsConfig": { "cloudWatchLogs": { "status": "cloudwatch-logs-status", "groupName": "group-name", "streamName": "stream-name" } "s3Logs": { "status": "s3-logs-status", "location": "s3-logs-location", "encryptionDisabled": "s3-logs-encryptionDisabled" } } "secondaryArtifacts": [ { "type": "artifacts-type", "location": "artifacts-location", "path": "path", "namespaceType": "namespaceType", "name": "artifacts-name", "packaging": "packaging", "artifactIdentifier": "artifact-identifier" } ] , "secondarySources": [ { "type": "source-type", "location": "source-location", "gitCloneDepth": "gitCloneDepth", "buildspec": "buildspec", "InsecureSsl": "InsecureSsl", "reportBuildStatus": "reportBuildStatus", "auth": { "type": "auth-type", "resource": "resource" }, "sourceIdentifier": "source-identifier" } ], "serviceRole": "serviceRole", "vpcConfig": { "securityGroupIds": [ "security-group-id" ], "subnets": [ "subnet-id" ], "vpcId": "vpc-id" }, "timeoutInMinutes": timeoutInMinutes, "encryptionKey": "encryptionKey", "tags": [ { "key": "tag-key", "value": "tag-value" } ], "environment": { "type": "environment-type", "image": "image", "computeType": "computeType", "certificate": "certificate", "environmentVariables": [ { "name": "environmentVariable-name", "value": "environmentVariable-value", "type": "environmentVariable-type" } ], "registryCredential": [ { "credential": "credential-arn-or-name", "credentialProvider": "credential-provider" } ], "imagePullCredentialsType": "imagePullCredentialsType-value, "privilegedMode": "privilegedMode" }, "badgeEnabled": "badgeEnabled" }

    以下に置き換えます。

    • project-name: 必須値。このビルドプロジェクトの名前。この名前は、AWS アカウントのすべてのビルドプロジェクトにわたって一意である必要があります。

    • description: (オプションの値)。このビルドの説明。

    • 必要な source オブジェクトのための、このビルドプロジェクトのソースコードの設定についての情報。source オブジェクトを追加したら、CodeBuild secondarySources オブジェクト を使用して最大 12 個のソースを追加できます。これらの設定には以下が含まれます。

      • source-type: 必須値。ビルドするソースコードを含むリポジトリのタイプ。有効な値には、CODECOMMITCODEPIPELINEGITHUBGITHUB_ENTERPRISEBITBUCKETS3 および NO_SOURCE があります。NO_SOURCE を使用すると、プロジェクトにはソースがないため、buildspec をファイルとして使用できません。代わりに、buildspec 属性を使用して buildspec に YAML 形式の文字列を指定する必要があります。詳細については、「ソースサンプルがないプロジェクト」を参照してください。

      • source-location: 必須値 (CODEPIPELINEsource-type を設定しない場合)。指定されたリポジトリタイプのソースコードの場所。

        • CodeCommit の場合、ソースコードとビルド仕様 (例: https://git-codecommit.region-id.amazonaws.com/v1/repos/repo-name) を含むリポジトリの HTTPS クローン URL。

        • Amazon S3 では、ビルド入力バケット名の後に、スラッシュ (/) が続き、ソースコードとビルド仕様 (例: bucket-name/object-name.zip) を含む ZIP ファイルの名前が続きます。これは ZIP ファイルがビルド入力バケットのルートにあることを前提としています。(ZIP ファイルがバケット内のフォルダにある場合は、代わりに bucket-name/path/to/object-name.zip を使用してください)。

        • GitHub の場合、ソースコードとビルド仕様を含むリポジトリへの HTTPS クローン URL。URL には「github.com」が含まれている必要があります。 AWS アカウントを GitHub アカウントに接続する必要があります。これを行うには、CodeBuild コンソールを使用してプロジェクトを作成します。

          1. コンソールを使用して GitHub に接続 (または再接続) するときは、GitHub の [Authorize application (アプリケーションの承認)] ページの [Organization access (組織のアクセス)] で、CodeBuild にアクセスできるように各リポジトリの横にある [Request access (アクアセスのリクエスト)] を選択します。

          2. [Authorize application] を選択します。(GitHub アカウントに接続した後、ビルドプロジェクトの作成を完了する必要はありません。CodeBuild コンソールを閉じることができます。)

        • GitHub Enterprise の場合に、ソースコードとビルド仕様を含むリポジトリへの HTTP または HTTPS クローン URL。また、AWS アカウントを GitHub Enterprise アカウントに接続する必要があります。これを行うには、CodeBuild コンソールを使用してプロジェクトを作成します。

          1. GitHub Enterprise で個人用アクセストークンを作成します。

          2. このトークンをクリップボードにコピーし、CodeBuild プロジェクトの作成時に使用します。詳細については、GitHub ヘルプウェブサイトの「GitHub Enterprise で個人用アクセストークンを作成する」を参照してください。

          3. コンソールを使用して CodeBuild プロジェクトを作成する場合、[ソース] の [ソースプロバイダー] で [GitHub Enterprise] を選択します。

          4. [個人用アクセストークン] には、クリップボードにコピーしたトークンを貼り付けます。[トークンの保存] を選択します。これで、CodeBuild アカウントが GitHub Enterprise アカウントに接続されました。

        • Bitbucket の場合、ソースコードとビルド仕様を含むリポジトリへの HTTPS クローン URL。URL には「bitbucket.org」が含まれている必要があります。 また、AWS アカウントを Bitbucket アカウントに接続する必要があります。これを行うには、CodeBuild コンソールを使用してプロジェクトを作成します。

          1. コンソールを使用して Bitbucket に接続 (または再接続) する場合は、Bitbucket の [Confirm access to your account] ページで、[Grant access] を選択します(Bitbucket アカウントに接続した後、ビルドプロジェクトの作成を完了する必要はありません)。CodeBuild コンソールを閉じることができます。)

        • AWS CodePipeline の場合は、sourcelocation 値を指定しないでください。CodePipeline ではパイプラインを作成するときに、パイプラインのソースステージでソースコードの場所を指定するため、この値は CodePipeline では無視されます。

      • gitCloneDepth: オプション値。ダウンロードする履歴の深さ。最小値は 0 です。この値が 0、あるいは 25 より大きいか指定されていない場合、完全な履歴が各ビルドプロジェクトと共にダウンロードされます。ソースタイプが Amazon S3 の場合、この値はサポートされません。

      • buildspec: (オプションの値)。使用するビルド仕様定義またはファイル。この値が設定されている場合は、インラインのビルド仕様定義か、組み込みの環境変数 CODEBUILD_SRC_DIR の値に相対的な代替ビルド仕様ファイルへのパスのいずれかになります。この値が指定されていない場合、または空の文字列に設定されている場合、ソースコードにはルートディレクトリの buildspec.yml ファイルが含まれている必要があります。詳細については、「ビルド仕様のファイル名とストレージの場所」を参照してください。

      • auth: このオブジェクトは、CodeBuild コンソールでのみ使用されます。auth-type (source-typeGITHUB に設定した場合を除く) または resource に値を指定しないでください。

      • reportBuildStatus: オプションの値。ビルドの開始と完了のステータスをソースプロバイダに送信するかどうかを指定します。これを GitHub、GitHub Enterprise、Bitbucket 以外のソースプロバイダーに対して設定すると、invalidInputException がスローされます。

      • gitSubmodulesConfig: オプションの値。Git サブモジュール設定に関する情報。CodeCommit、GitHub、GitHub Enterprise、および Bitbucket でのみ使用できます。リポジトリに Git サブモジュールを含める場合は、fetchSubmodules を true に設定します。含まれている Git サブモジュールは HTTPS として設定する必要があります。

      • InsecureSsl: オプション値。GitHub Enterprise のみで使用されます。GitHub Enterprise プロジェクトリポジトリに接続するときに SSL 警告を無視するには、この値を true に設定します。デフォルト値は false です。InsecureSsl は、テスト目的のみで使用してください。本番環境では使用しないでください。

    • source-version: オプションの値。このプロジェクト用に構築するビルド入力のバージョン。指定しない場合、最新のバージョンが使用されます。指定した場合、次のいずれかであることが必要です。

      • CodeCommit の場合は、使用するコミット ID。

      • GitHub の場合は、ビルドするソースコードのバージョンに対応するコミット ID、プルリクエスト ID、ブランチ名、またはタグ名。プルリクエスト ID を指定する場合、pr/pull-request-ID (例: pr/25) 形式を使用する必要があります。ブランチ名を指定すると、ブランチの HEAD コミット ID が使用されます。指定しない場合は、デフォルトブランチの HEAD コミット ID が使用されます。

      • Bitbucket の場合、ビルドするソースコードのバージョンに対応するコミット ID、ブランチ名、またはタグ名。ブランチ名を指定すると、ブランチの HEAD コミット ID が使用されます。指定しない場合は、デフォルトブランチの HEAD コミット ID が使用されます。

      • Amazon Simple Storage Service (Amazon S3): 使用するビルド入力 ZIP ファイルを示すオブジェクトのバージョン ID。

      sourceVersion をビルドレベルで指定した場合、そのバージョンはこの (プロジェクトレベルの) sourceVersion より優先されます。詳細については、「CodeBuild のソースバージョンのサンプル」を参照してください。

    • secondarySourceVersions: オプションの値。projectSourceVersion オブジェクトの配列。secondarySourceVersions をビルドレベルで指定すると、これよりも優先されます。

      • secondary-source-identifier: ビルドプロジェクトのソースの識別子。

      • secondary-source-version: sourceVersion オブジェクト。

    • 必要な artifacts オブジェクトのための、このビルドプロジェクトの出力アーティファクトの設定についての情報。artifacts オブジェクトを追加したら、CodeBuild secondaryArtifacts オブジェクト を使用して最大 12 個のアーティファクトを追加できます。これらの設定には以下が含まれます。

      • artifacts-type: 必須値。ビルド出力アーティファクトのタイプ。有効な値は、CODEPIPELINENO_ARTIFACTS、および S3 です。

      • artifacts-location: 必須値 (CODEPIPELINE または NO_ARTIFACTSartifacts-type を設定しない場合)。ビルド出力アーティファクトの場所。

        • artifacts-typeCODEPIPELINE を指定した場合は、artifactslocation を指定しないでください。

        • artifacts-typeNO_ARTIFACTS を指定した場合は、artifactslocation を指定しないでください。

        • artifacts-type として S3 を指定した場合、これは前提条件で作成または識別した出力バケットの名前です。

      • path: (オプションの値)。ビルド出力 ZIP ファイルまたはフォルダのパスと名前。

        • artifacts-typeCODEPIPELINE を指定した場合は、artifactspath を指定しないでください。

        • artifacts-typeNO_ARTIFACTS を指定した場合は、artifactspath を指定しないでください。

        • artifacts-typeS3 を指定した場合、これは artifacts-location 内のビルド出力 ZIP ファイルまたはフォルダのパスです。path の値を指定しない場合、CodeBuild では namespaceType (指定されている場合) と artifacts-name を使用して、ビルド出力 ZIP ファイルまたはフォルダのパスと名前を決定します。たとえば、pathMyPathartifacts-nameMyArtifact.zip を指定すると、パスと名前は MyPath/MyArtifact.zip になります。

      • namespaceType: (オプションの値)。ビルド出力 ZIP ファイルまたはフォルダのパスと名前。

        • artifacts-typeCODEPIPELINE を指定した場合は、artifactsnamespaceType を指定しないでください。

        • artifacts-typeNO_ARTIFACTS を指定した場合は、artifactsnamespaceType を指定しないでください。

        • artifacts-typeS3 を指定した場合、有効な値には BUILD_IDNONE が含まれます。BUILD_ID を使用してビルド出力 ZIP ファイルまたはフォルダのパスにビルド ID を挿入します。それ以外の場合は、NONE を使用します。namespaceType の値を指定しない場合、CodeBuild では path (指定されている場合) と artifacts-name を使用して、ビルド出力 ZIP ファイルまたはフォルダのパスと名前を決定します。たとえば、pathMyPathnamespaceTypeBUILD_IDartifacts-nameMyArtifact.zip を指定する場合、パスと名前は MyPath/build-ID/MyArtifact.zip になります。

      • artifacts-name: 必須値 (CODEPIPELINE または NO_ARTIFACTSartifacts-type を設定しない場合)。ビルド出力 ZIP ファイルまたはフォルダのパスと名前。

        • artifacts-typeCODEPIPELINE を指定した場合は、artifactsname を指定しないでください。

        • artifacts-typeNO_ARTIFACTS を指定した場合は、artifactsname を指定しないでください。

        • artifacts-typeS3 を指定した場合、これは artifacts-location 内のビルド出力 ZIP ファイルまたはフォルダの名前です。たとえば、pathMyPathartifacts-nameMyArtifact.zip を指定すると、パスと名前は MyPath/MyArtifact.zip になります。

      • override-artifact-name: オプションのブール値。true に設定すると、buildspec ファイルの artifacts ブロックで指定された名前で artifacts-name が上書きされます。詳細については、「CodeBuild のビルド仕様に関するリファレンス」を参照してください。

      • packaging: (オプションの値)。作成するビルド出力アーティファクトのタイプ。

        • artifacts-typeCODEPIPELINE を指定した場合は、artifactspackaging を指定しないでください。

        • artifacts-typeNO_ARTIFACTS を指定した場合は、artifactspackaging を指定しないでください。

        • artifacts-typeS3 を指定した場合、有効な値には ZIPNONE が含まれます。ビルド出力を含む ZIP ファイルを作成するには、ZIP を使用します。ビルド出力を含むフォルダを作成するには、NONE を使用します。デフォルト値は NONE です。

    • 必要な cache オブジェクトのための、このビルドプロジェクトのキャッシュ設定についての情報。詳細については、キャッシングのビルド を参照してください。これらの設定には以下が含まれます。

      • cache-type: 必須値。有効な値は S3NO_CACHE、または LOCAL_CACHE です。

      • cache-location: CacheTypeS3 に設定する場合にのみ必須。CacheType に Amazon S3 を指定した場合、これが Amazon S3 バケットの ARN およびパスのプレフィックスになります。たとえば、Amazon S3 バケット名が my-bucket で、パスのプレフィックスが build-cache の場合、CacheLocation に使用できるフォーマットは my-bucket/build-cache または arn:aws:s3:::my-bucket/build-cache になります。

      • cache-mode: 必須値 (CacheTypeLOCAL に設定する場合)。次のローカルキャッシュモードを 1 つ以上指定することができます。LOCAL_SOURCE_CACHELOCAL_DOCKER_LAYER_CACHELOCAL_CUSTOM_CACHE

        注記

        LOCAL_DOCKER_LAYER_CACHE モードは Linux のみで使用できます。このモードを選択する場合、プロジェクトは権限モードで実行する必要があります。

    • logsConfig オブジェクトの場合は、このビルドのログが配置されている場所に関する情報。

      • cloudwatch-logs-status: 必須値。有効な値は ENABLED または DISABLED です。その値が ENABLED である場合は、次の値が必要です。詳細については、「ロググループとログストリームを操作する」を参照してください。

      • group-name: CloudWatch Logs グループの名前。

      • stream-name: CloudWatch Logs ストリームの名前。

      • s3-logs-status: 必須値。有効な値は ENABLED または DISABLED です。

      • s3-logs-location: s3-logs-statusENABLED​ の場合に必須です。これは、S3 バケットの ARN およびパスのプレフィックスになります。たとえば、Amazon S3 バケット名が my-bucket で、パスのプレフィックスが build-log の場合、s3-logs-location に使用できるフォーマットは my-bucket/build-log または arn:aws:s3:::my-bucket/build-log になります。

      • s3-logs-encryptionDisabled: オプションのブール値。true に設定すると、S3 ビルドログ出力は暗号化されません。デフォルトでは S3 のビルドログは暗号化されます。

    • オプションの secondaryArtifacts オブジェクトについては、ビルドプロジェクトのセカンダリアーティファクトの設定に関する情報です。最大 12 個のセカンダリアーティファクトを追加できます。secondaryArtifacts は、CodeBuild アーティファクトオブジェクト オブジェクトで使用されているのと同じ設定の多くを使用します。その設定には以下のものがあります。

    • オプションの secondarySources オブジェクトについては、ビルドプロジェクトのセカンダリソースの設定に関する情報です。最大 12 個の secondarySources を追加できます。secondarySources オブジェクトは、CodeBuild ソースオブジェクト オブジェクトで使用されているのと同じ設定の多くを使用します。これには次のものが含まれます。

    • serviceRole: 必須値。CodeBuild のサービスロールの ARN は、IAM ユーザーに代わってサービスとやり取りするために使用します (例: arn:aws:iam::account-id:role/role-name)。

    • オプションの vpcConfig オブジェクトについては、VPC 設定に関する情報を参照してください。設定は次のとおりです。

      • vpcId: 必須値。CodeBuild で使用される VPC ID。リージョン内の Amazon VPC ID を一覧表示するには、次のコマンドを実行します。

        aws ec2 describe-vpcs
      • subnets: 必須値。CodeBuild で使用されるリソースを含むサブネット ID。これらの ID を取得するには、次のコマンドを実行します。

        aws ec2 describe-subnets --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1

        注記

        us-east-1 以外のリージョンを使用している場合は、コマンドを実行するときに必ず使用してください。

      • securityGroupIds: 必須値。VPC 内のリソースへのアクセスを許可するために CodeBuild で使用されるセキュリティグループ ID。これらの ID を取得するには、次のコマンドを実行します。

        aws ec2 describe-security-groups --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1

        注記

        us-east-1 以外のリージョンを使用している場合は、コマンドを実行するときに必ず使用してください。

    • 必要な environment オブジェクトのための、このプロジェクトのビルド環境設定についての情報。設定は次のとおりです。

      • environment-type: 必須値。構築環境のタイプ。有効な値は、LINUX_CONTAINER および WINDOWS_CONTAINER です。

      • image: 必須値。このビルド環境で使用される Docker イメージ識別子。通常、この識別子は image-name:tag として表されます。たとえば、Docker イメージを管理するために CodeBuild が使用する Docker リポジトリでは、これは aws/codebuild/standard:2.0 です。Docker Hub では、maven:3.3.9-jdk-8 です。Amazon ECR の account-id.dkr.ecr.region-id.amazonaws.com/your-Amazon-ECR-repo-name:tag。詳細については、「CodeBuild に用意されている Docker イメージ」を参照してください。

      • computeType: 必須値。このビルド環境で使用される CPU コアとメモリの数に対応するカテゴリ。使用できる値は、BUILD_GENERAL1_SMALLBUILD_GENERAL1_MEDIUM、および BUILD_GENERAL1_LARGE です。

      • 証明書: オプション値。S3 バケットの ARN、パスのプレフィックス、および PEM エンコードされた証明書を含むオブジェクトキー。オブジェクトキーとして、.pem ファイル、または pem エンコードされた証明書を含む .zip ファイルのいずれかを指定できます。たとえば、Amazon S3 バケットの名前が my-bucket、パスプレフィックスは cert、オブジェクトキー名が certificate.pem の場合、証明書に許容される形式は my-bucket/cert/certificate.pem or arn:aws:s3:::my-bucket/cert/certificate.pem となります。

      • オプションの environmentVariables 配列についての、このビルド環境で指定する任意の環境変数に関する情報。各環境変数は、environmentVariable-nameenvironmentVariable-value、および environmentVariable-typenamevalue、および type を含むオブジェクトとして表されます。

        他のユーザーは、CodeBuild コンソールと AWS CLI を使用して環境変数を確認できます。環境変数の表示に懸念がない場合は、environmentVariable-nameenvironmentVariable-value を設定してから environmentVariable-typePLAINTEXT に設定します。

        Amazon EC2 Systems Manager パラメータストアには、AWS アクセスキー ID、AWS シークレットアクセスキー、またはパスワードなどの機密値を持つ環境変数をパラメータとして保存することをお勧めします。environmentVariable-name の場合、保存されているパラメータについては、CodeBuild の識別子を参照するように設定します。environmentVariable-value には、Amazon EC2 Systems Manager パラメータストアに保存されているパラメータの名前を設定します。environmentVariable-typePARAMETER_STORE に設定します。たとえば、/CodeBuild/dockerLoginPassword いう名前のパラメータを使用して environmentVariable-nameLOGIN_PASSWORD に設定します。environmentVariable-value/CodeBuild/dockerLoginPassword に設定します。environmentVariable-typePARAMETER_STORE に設定します。

        重要

        ビルドプロジェクトが Amazon EC2 Systems Manager パラメータストアに保存されているパラメータを参照する場合、ビルドプロジェクトのサービスロールで ssm:GetParameters アクションを許可する必要があります。以前に [Create a service role in your account (アカウントでサービスロールを作成)] を選択した場合、CodeBuild では、ビルドプロジェクトのデフォルトのサービスロールにこのアクションが自動的に含められます。ただし [Choose an existing service role from your account] を選択した場合は、このアクションをサービスロールに個別に含める必要があります。

        ビルドプロジェクトが、/CodeBuild/ で始まらないパラメータ名を持つ、Amazon EC2 Systems Manager パラメータストアに保存されているパラメータを参照し、[Create a service role in your account (アカウントでサービスロールを作成)] を選択した場合、/CodeBuild/ で始まらないパラメータ名にアクセスできるようにサービスロールを更新する必要があります。これは、サービスロールで、/CodeBuild/ で始まるパラメータ名にのみアクセスが許可されるためです。

        既存の環境変数は、設定した環境変数によって置き換えられます。たとえば、Docker イメージに my_value の値を持つ MY_VAR という名前の環境変数が既に含まれていて、other_value の値を持つ MY_VAR という名前の環境変数を設定した場合、my_valueother_value に置き換えられます。同様に、Docker イメージに /usr/local/sbin:/usr/local/bin の値を持つ PATH という名前の環境変数が既に含まれていて、$PATH:/usr/share/ant/bin の値を持つ PATH という名前の環境変数を設定した場合、/usr/local/sbin:/usr/local/bin はリテラル値 $PATH:/usr/share/ant/bin に置き換えられます。

        CODEBUILD_ で始まる名前の環境変数は設定しないでください。このプレフィックスは内部使用のために予約されています。

        同じ名前の環境変数が複数の場所で定義されている場合は、その値は次のように決定されます。

        • ビルド開始オペレーション呼び出しの値が最も優先順位が高くなります。

        • ビルドプロジェクト定義の値が次に優先されます。

        • ビルド仕様宣言の値の優先順位が最も低くなります。

      • オプションの registryCredential プロパティを使用して、プライベート Docker レジストリへのアクセスを提供する認証情報を指定します。

        • credential-arn-or-name: AWS Managed Services で作成した認証情報の ARN または名前を指定します。認証情報の名前を使用できるのは、認証情報が現在のリージョン内に存在する場合のみです。

        • credential-provider: 有効な値は SECRETS_MANAGER のみです。

        これを設定した場合:

        • imagePullCredentialsSERVICE_ROLE に設定する必要があります。

        • 選別されたイメージや Amazon ECR イメージは使用できません。

      • imagePullCredentialsType-value: 省略可能な値。ビルドのイメージをプルするために CodeBuild で使用する認証情報のタイプ。2 つの有効な値があります。

        • CODEBUILD は、CodeBuild で独自の認証情報を使用することを指定します。これに伴って、CodeBuild サービスプリンシパルを信頼するように Amazon ECR リポジトリポリシーを変更する必要があります。

        • SERVICE_ROLE は、CodeBuild でビルドプロジェクトのサービスロールを使用することを指定します。

        クロスアカウントまたはプライベートレジストリイメージを使用する場合は、SERVICE_ROLE の認証情報を使用する必要があります。CodeBuild の選別されたイメージを使用する場合は、CODEBUILD の認証情報を使用する必要があります。

      • このビルドプロジェクトを使用して Docker イメージを構築する予定があり、指定したビルド環境イメージが Docker をサポートする CodeBuild によって提供されない場合にのみ、privilegedModetrue の値で指定する必要があります。それ以外の場合、関連付けられているビルドで Docker デーモンと通信しようとすると、すべて失敗します。ビルドが Docker デーモンと連係動作できるように、Docker デーモンも起動する必要があります。これを行う 1 つの方法は、次のビルドコマンドを実行してビルドスペックの install フェーズで Docker デーモンを初期化することです。Docker をサポートする CodeBuild によって提供されるビルド環境イメージを指定した場合は、これらのコマンドを実行しないでください。

        - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay& - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"
    • badgeEnabled: オプションの値。ビルドバッジを CodeBuild プロジェクトに含めるには、badgeEnabledtrue の値で指定する必要があります。詳細については、「CodeBuild のビルドバッジサンプル」を参照してください。

    • timeoutInMinutes: (オプションの値)。5〜480 分 (8 時間) の分単位の時間。この時間が経過すると、ビルドが完了していない場合に CodeBuild によってビルドが停止されます。指定しない場合は、デフォルトの 60 が使用されます。CodeBuild がタイムアウトによりビルドを停止したかどうかを判断するには、batch-get-builds コマンドを実行します。ビルドが停止しているかどうかを確認するには、出力で FAILEDbuildStatus 値を調べます。ビルドがタイムアウトした時間を確認するには、 出力で TIMED_OUTphaseStatus 値に関連付けられている endTime 値を調べます。

    • encryptionKey: オプションの値。ビルド出力を暗号化するために CodeBuild で使用する AWS KMS カスタマーマスターキー (CMK) のエイリアスまたは ARN。エイリアスを指定する場合に、arn:aws:kms:region-ID:account-ID:key/key-ID 形式を使用し、エイリアスが存在する場合には、alias/key-alias 形式を使用します。指定しない場合は、Amazon S3 の AWS 管理 CMK が使用されます。

    • オプションの tags 配列についての、このビルドプロジェクトに関連付けるタグに関する情報。最大 50 個のタグを指定できます。これらのタグは、CodeBuild ビルドプロジェクトタグをサポートする任意の AWS サービスで使用できます。各タグは、tag-keytag-valuekey 値と value 値を含むオブジェクトとして表されます。

    例については、「ビルドプロジェクト (AWS CLI) を作成するには」を参照してください。

  2. 先ほど保存したファイルがあるディレクトリに移動し、create-project コマンドをもう一度実行します。

    aws codebuild create-project --cli-input-json file://create-project.json
  3. 成功すると、次のようなデータが出力に表示されます。

    { "project": { "name": "project-name", "description": "description", "serviceRole": "serviceRole", "tags": [ { "key": "tags-key", "value": "tags-value" } ], "artifacts": { "namespaceType": "namespaceType", "packaging": "packaging", "path": "path", "type": "artifacts-type", "location": "artifacts-location", "name": "artifacts-name" }, "lastModified": lastModified, "timeoutInMinutes": timeoutInMinutes, "created": created, "environment": { "computeType": "computeType", "image": "image", "type": "environment-type", "environmentVariables": [ { "name": "environmentVariable-name", "value": "environmentVariable-value", "type": "environmentVariable-type" } ] }, "source": { "type": "source-type", "location": "source-location", "buildspec": "buildspec", "auth": { "type": "auth-type", "resource": "resource" } }, "encryptionKey": "encryptionKey", "arn": "arn" } }
    • project オブジェクトには、新しいビルドプロジェクトに関する情報が含まれています。

      • lastModified 値は、ビルドプロジェクトに関する情報が最後に変更された時刻 (Unix の時刻形式) を表します。

      • created 値は、ビルドプロジェクトが作成された時刻 (Unix の時刻形式) を表します。

      • arn 値は、ビルドプロジェクトの ARN を表します。

注記

ビルドプロジェクトの名前を除いて、後でビルドプロジェクトの設定を変更することができます。詳細については、「ビルドプロジェクトの設定を変更する (AWS CLI)」を参照してください。

ビルドの実行を開始するには、「ビルドの実行 (AWS CLI)」を参照してください。

ソースコードが GitHub リポジトリに保存されていて、コード変更がリポジトリにプッシュされるたびに CodeBuild でソースコードを再構築する場合は、「自動的にビルドの実行を開始する (AWS CLI)」を参照してください。

ビルドプロジェクトの作成 (AWS SDK)

AWS CodeBuild を AWS SDK と組み合わせて使用する方法については、「AWS SDK とツールのリファレンス」を参照してください。

ビルドプロジェクトを作成する (AWS CloudFormation)

AWS CloudFormation での AWS CodeBuild の使用については、『AWS CloudFormation ユーザーガイド』の「CodeBuild 用の AWS CloudFormation テンプレート」を参照してください。