Runner in the High

技術のことをかくこころみ

CloudBuildのキャッシュに便利なgcs-cachingというDockerイメージを作った

github.com

CloudBuildではこんな感じで使える。

steps:
  # キャッシュの保存
  - name: izumisy/gcs-caching:latest
    args: ["store", "./caching-directory", "gs://your-own-build-cache", "./cachekey-file"]
  # キャッシュの取り出し
  - name: izumisy/gcs-caching:latest
    args: ["restore", ".", "gs://default-build-cache", "./cachekey-file"]

公式のドキュメントだと「キャッシュの読み書きには gcr.io/cloud-builders/gsutil を使え」みたく書いてあるが、リアルなユースケースではディレクトリを固めてキャッシュキーを計算して、みたいな処理もある。

そういうことをしようと思うとgsutilだけだとプリミティブ過ぎて微妙なので作ってみた。