AWS::CodeBuild::Project ProjectCache - AWS CloudFormation

AWS::CodeBuild::Project ProjectCache

ProjectCache は、AWS CodeBuild Project リソースのプロパティであり、ビルドプロジェクトのキャッシュに関する情報を指定します。ProjectCache を指定しない場合、その両方のプロパティはデフォルトで NO_CACHE に設定されます。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Location" : String, "Modes" : [ String, ... ], "Type" : String }

YAML

Location: String Modes: - String Type: String

プロパティ

Location

キャッシュの場所に関する情報:

  • NO_CACHE または LOCAL: この値は無視されます。

  • S3: これは S3 バケットの名前/プレフィックスです。

必須: いいえ

タイプ: 文字列

Update requires: No interruption

Modes

LOCAL キャッシュを使用する場合は、ローカルキャッシュモード。1 つ以上のローカルキャッシュモードを同時に使用できます。

  • LOCAL_SOURCE_CACHE モードは、プライマリソースとセカンダリソースの Git メタデータをキャッシュします。キャッシュ作成後のビルドでは、コミット間の変更のみプルされます。このモードは、クリーンな作業ディレクトリと、大きな Git リポジトリであるソースを持つプロジェクトに適しています。このオプションを選択し、プロジェクトで Git リポジトリ (GitHub、GitHub Enterprise、または Bitbucket) を使用していない場合、このオプションは無視されます。

  • LOCAL_DOCKER_LAYER_CACHE モードは既存の Docker レイヤーをキャッシュします。このモードは、大きな Docker イメージを構築または取得するプロジェクトに適しています。そのため、大きな Docker イメージをネットワークからプルすることによって生じるパフォーマンス上の問題を回避できます。

    注記
    • Docker レイヤーキャッシュは Linux 環境でのみ使用できます。

    • プロジェクトに必要な Docker アクセス許可が付与されるように、privileged フラグを設定する必要があります 。

    • Docker レイヤーキャッシュモードを使用する前に、セキュリティへの影響を検討してください。

  • LOCAL_CUSTOM_CACHE モードは buildspec ファイルで指定したディレクトリをキャッシュします。このシナリオは、ビルドシナリオが他の 3 つのローカルキャッシュモードのいずれにも適していない場合に適しています。カスタムキャッシュを使用する場合:

    • キャッシュに指定できるのはディレクトリのみです。個々のファイルを指定することはできません。

    • キャッシュされたディレクトリを参照するには、シンボリックリンクを使用します。

    • キャッシュされたディレクトリは、プロジェクトソースをダウンロードする前にビルドにリンクされます。ソースアイテムの名前が同じ場合、キャッシュされたアイテムは上書きされます。ディレクトリは buildspec ファイルのキャッシュパスを使って指定されます。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

Type

ビルドプロジェクトで使用するキャッシュのタイプ。有効な値を次に示します。

  • NO_CACHE: ビルドプロジェクトはキャッシュを使用しません。

  • S3: ビルドプロジェクトは S3 に対して読み書きを行います。

  • LOCAL: ビルドプロジェクトは、ビルドホストでしか使用できないキャッシュをそのビルドホストにローカルに保存します。

必須: はい

タイプ: 文字列

許可された値: LOCAL | NO_CACHE | S3

Update requires: No interruption

以下の資料も参照してください。