高速パイプラインのためのGitLab CIキャッシュ戦略

効果的なキャッシュ戦略でGitLab CIパイプライン速度を最適化。キャッシュキー、ポリシー、フォールバックキー、キャッシュとアーティファクトの違いを学ぶ。

Caching & Artifacts

詳細な説明

GitLab CIのキャッシュ戦略

キャッシュはパイプライン速度に最も大きな影響を与える最適化です。適切に設定されたキャッシュは、依存関係の繰り返しダウンロードを回避し、パイプライン時間を50-80%短縮できます。

ブランチベースキャッシュ

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/

ロックファイルベースキャッシュ

cache:
  key:
    files:
      - package-lock.json
  paths:
    - node_modules/

キャッシュキーはpackage-lock.jsonのハッシュです。依存関係が変更されると自動的にキャッシュが無効化されます。

キャッシュポリシー

ポリシー 動作
pull-push ジョブ前にキャッシュをダウンロード、ジョブ後にアップロード(デフォルト)
pull ダウンロードのみ。キャッシュ内容を変更しないジョブに使用。
push アップロードのみ。初期キャッシュ作成ジョブに使用。

キャッシュとアーティファクトの違い

特徴 キャッシュ アーティファクト
目的 ジョブの高速化 ジョブ間のファイル受け渡し
信頼性 ベストエフォート 保証
スコープ パイプライン間 パイプライン内

ユースケース

依存関係をインストールするすべてのパイプラインにキャッシュ戦略を適用します。適切なキャッシュ設定により、10分のパイプラインを2-3分に短縮できます。

試してみる — GitLab CI Config Generator

フルツールを開く