CircleCIでdocker buildする際、初期状態ではbuild cacheが無効になっている。documentを漁っていたら、オプションでbuild cacheを有効にできるようだったので試してみた。
By default, the Remote Docker Environment doesn’t provide layer caching, but you can enable this feature with a special option
設定方法
Remote Dockerの場合
- setup_remote_docker: docker_layer_caching: true
see: https://circleci.com/docs/2.0/docker-layer-caching/#docker-layer-caching-in-remote-docker
Machine Executorの場合
machine: docker_layer_caching: true
see: https://circleci.com/docs/2.0/docker-layer-caching/#docker-layer-caching-in-machine-executor
実行時間の変化
Engine: Machine Executor
before
after
2分以上 早くなったΣ
build cacheを使いたくないときは、 --no-cache
オプションをつけてdocker buildすればキャッシュを使わずにbuildしてくれる