Skip to main content

プル リクエスト ビルドのキャッシュ効率の最適化

説明

Bitrise キャッシングはブランチベースです。特定のブランチでキャッシュを最新の状態に保つことで、キャッシュの効率を最適化できます。

ブランチにまだキャッシュ エントリがない場合は、リポジトリのデフォルト ブランチがフォールバックとして使用され、キャッシュ エントリがプルされます。プル リクエストがメイン ブランチを対象とする場合、このフォールバック メカニズムを使用してデフォルト ブランチのキャッシュがプルされます (プル リクエスト ブランチにはまだキャッシュ エントリがないため)。これは、プル リクエストの送信先がデフォルト ブランチであり、デフォルト ブランチのキャッシュが最新である場合でも、キャッシングが効率的であることを意味します。

指示

  1. デフォルト ブランチで頻繁に実行されるすべてのワークフローに、 Bitrise.io キャッシュ:プッシュ ステップ。これにより、成功したビルドのコンテンツでキャッシュが最新の状態に保たれます。次の 2 つの方法のいずれかをお勧めします。

    • デフォルト ブランチでのプッシュ イベントによってトリガーされる、デフォルト ブランチへのすべてのコミット (マージなど) の後にワークフローを実行します。

    • スケジュールされたナイトリー ビルドとしてワークフローを毎日実行します。これにより、デフォルト ブランチの最新の状態に基づいてコンテンツがプッシュされ、キャッシュがウォームアップされます。

  2. (オプション) キャッシュを圧縮 への入力変数 真実.これは、キャッシュ フォルダーが大きく、ビルド時間が遅い場合に役立ちます。

  3. プル リクエストを実行するワークフローに、 Bitrise.io キャッシュ:プル ステップ。

    これにより、デフォルト ブランチで成功したビルドからキャッシュがプルされます。セキュリティと効率の理由から、プル リクエスト ビルドのキャッシュにコンテンツをプッシュすることはお勧めしません。ワークフローに Bitrise.io キャッシュ:プッシュ ステップ、プル リクエスト ビルドではデフォルトでスキップされます。

bitrise.yml

デフォルト ブランチで実行されるワークフロー:

# Add steps that produce the cached content (e.g. dependecies, builds)

- cache-push@2: {}

プル リクエストのワークフロー:

- cache-pull@2: {}

# Add steps that can utilise the restored cache content