ワークフロー実行間のファイルのキャッシュ - Amazon CodeCatalyst

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ワークフロー実行間のファイルのキャッシュ

ファイルキャッシュを有効にすると、ビルドアクションとテストアクションはディスク上のファイルをキャッシュに保存し、後続のワークフロー実行でそのキャッシュから復元します。キャッシュは、実行間で変更されていない依存関係を構築またはダウンロードすることによるレイテンシーを短縮します。 はフォールバックキャッシュ CodeCatalyst もサポートしています。これは、必要な依存関係の一部を含む部分的なキャッシュを復元するために使用できます。これにより、キャッシュミスによるレイテンシーの影響を軽減できます。

注記

ファイルキャッシュは、Amazon の CodeCatalyst ビルドアクションとテストアクションでのみ使用でき、EC2 コンピューティングタイプ を使用するように設定されている場合にのみ使用できます。

ファイルキャッシュについて

ファイルキャッシュを使用すると、データを複数のキャッシュに整理できます。各キャッシュは FileCachingプロパティで参照されます。各キャッシュは、指定されたパスで指定されたディレクトリを保存します。指定されたディレクトリは、今後のワークフロー実行で復元されます。以下は、 cacheKey1および という名前の複数のキャッシュでキャッシュするための YAML スニペットの例ですcacheKey2

Actions: BuildMyNpmApp: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: npm install - Run: npm run test Caching: FileCaching: cacheKey1: Path: file1.txt RestoreKeys: - restoreKey1 cacheKey2: Path: /root/repository RestoreKeys: - restoreKey2 - restoreKey3
注記

CodeCatalyst は、ローカルキャッシュとリモートキャッシュで構成される多層キャッシュを使用します。プロビジョニングされたフリートまたはオンデマンドマシンがローカルキャッシュでキャッシュミスに遭遇すると、依存関係はリモートキャッシュから復元されます。その結果、一部のアクションの実行では、リモートキャッシュのダウンロードによるレイテンシーが発生する可能性があります。

CodeCatalyst はキャッシュアクセス制限を適用して、あるワークフローのアクションが別のワークフローからキャッシュを変更できないようにします。これにより、ビルドやデプロイに影響する誤ったデータをプッシュする可能性のある他のユーザーから各ワークフローが保護されます。制限は、キャッシュをすべてのワークフローとブランチのペアリングに分離するキャッシュスコープで適用されます。例えば、 ブランチworkflow-Aのファイルキャッシュfeature-Aは、 兄弟ブランチworkflow-Aのファイルキャッシュとは異なりますfeature-B

キャッシュミスは、ワークフローが指定されたファイルキャッシュを検索して見つけられない場合に発生します。これは、新しいブランチの作成時や、新しいキャッシュが参照され、まだ作成されていない場合など、複数の理由で発生する可能性があります。また、キャッシュの有効期限が切れたときに発生することもあります。デフォルトでは、キャッシュが最後に使用された日から 14 日後に発生します。キャッシュミスを軽減し、キャッシュヒット率を高めるために、 はフォールバックキャッシュ CodeCatalyst をサポートします。フォールバックキャッシュは代替キャッシュであり、キャッシュの古いバージョンである可能性のある部分キャッシュを復元する機会を提供します。キャッシュは、最初に でFileCachingプロパティ名に一致するものを検索することで復元され、見つからない場合は が評価されますRestoreKeys。プロパティ名とすべての の両方にキャッシュミスがある場合RestoreKeys、キャッシュはベストエフォートであり、保証されないため、ワークフローは引き続き実行されます。

キャッシュの作成

以下の手順を使用して、ワークフローにキャッシュを追加できます。

Visual
ビジュアルエディタを使用してキャッシュを追加するには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. プロジェクトを選択します。

  3. ナビゲーションペインで CI/CD を選択し、ワークフロー を選択します。

  4. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名でフィルタリングすることもできます。

  5. [編集] を選択します。

  6. ビジュアル を選択します。

  7. ワークフロー図で、キャッシュを追加するアクションを選択します。

  8. [設定] を選択します。

  9. ファイルキャッシュ - オプション で、次のようにキャッシュを追加を選択し、フィールドに情報を入力します。

    キー

    プライマリキャッシュプロパティ名の名前を指定します。キャッシュプロパティ名は、ワークフロー内で一意である必要があります。各アクションには、 に最大 5 つのエントリを含めることができますFileCaching

    [Path] (パス)

    キャッシュに関連するパスを指定します。

    復元キー - オプション

    プライマリキャッシュプロパティが見つからない場合にフォールバックとして使用する復元キーを指定します。復元キー名はワークフロー内で一意である必要があります。各キャッシュには、 に最大 5 つのエントリを含めることができますRestoreKeys

  10. (オプション) 検証 を選択して、コミットする前にワークフローの YAML コードを検証します。

  11. コミット を選択し、コミットメッセージを入力し、再度コミットを選択します。

YAML
YAML エディタを使用してキャッシュを追加するには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. プロジェクトを選択します。

  3. ナビゲーションペインで CI/CD を選択し、ワークフロー を選択します。

  4. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名でフィルタリングすることもできます。

  5. [編集] を選択します。

  6. YAML を選択します。

  7. ワークフローアクションで、次のようなコードを追加します。

    action-name: Configuration: Steps: ... Caching: FileCaching: key-name: Path: file-path # # Specify any additional fallback caches # RestoreKeys: # - restore-key
  8. (オプション) 検証 を選択して、コミットする前にワークフローの YAML コードを検証します。

  9. コミット を選択し、コミットメッセージを入力し、もう一度コミット を選択します。

ファイルキャッシュの制約

プロパティ名 と の制約は次のとおりですRestoreKeys

  • 名前はワークフロー内で一意である必要があります。

  • 名前は英数字 (A~Z、a~z、0~9)、ハイフン (-)、アンダースコア (_) に制限されています。

  • 名前は最大 180 文字です。

  • 各アクションには、 に最大 5 つのキャッシュを含めることができますFileCaching

  • 各キャッシュには、 に最大 5 つのエントリを含めることができますRestoreKeys

パスの制約は次のとおりです。

  • アスタリスク (*) は使用できません。

  • パスは最大 255 文字です。