キャッシュがあった場合、処理をskipする方法はあるのでしょうか?
現在、CircleCIのver2を使っているのですが、キャッシュが効いていた場合、ダウンロード処理をスキップしたいですのですが、やり方がわかりません。
具体的な私のシチュエーションを書くと、
私はあるファイルをネット上から落として展開してリネームするという処理を書いています。それをCircleCIのキャッシュ機能を使って、もしデータがキャッシュされていればそれを使用、無ければダウンロードしてくるという処理を書きたいです。
よく公式などに乗っているのは以下のようなキャッシュ方法だと思います。
- restore_cache:
keys:
- gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
- run: bundle install --path vendor/bundle
- save_cache:
key: gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
paths:
- vendor/bundle
この方法だとrestore_cacheでキャッシュがヒットしても後続のbundle installは実行されると思います。
bundle installだと差分を計算して実行するので良いとは思いますが、今私がやろうとしているのはこのrun部分をスキップしたいです。
何か良い方法はないでしょうか?ご回答お待ちしております。