🤖

GitHub Actionsでdocker内でbundle installした時にもキャッシュする

に公開

表題のようなケースの場合はsetup-rubyによるgemのキャッシュが使えないと思います。

結論としては、下記にsampleを用意してみました。
https://github.com/na8esin/rails8-sample/blob/17515b53482fdc71e1f543b060d059e3e5b3447e/.github/workflows/cache-gems-with-docker.yml

見たまんまなんですが、docker buildした後でdocker runして、docker cpするだけです。

これが最適解という自信も無いんですが、docker composeを使う複雑なパターンだったり、tarで固めたりと、古い記事などしか引っかからないのでアップしてみました。

自分の好みの問題で、開発環境用のDockerfileのさらに下の階層にproduction用のDockerfileがあるという不思議な構成になってますが、適宜パスを読み替えてください。

しくみのテックブログ

Discussion