working_directoryを設定することで
リポジトリをチェックアウトする場所を設定するが
何も設定しない状態だと、
デフォルトのチェックアウト場所は
「home/circleci/project」
になる。
将来的に複数のプロジェクトを利用するなどの場合を想定すると
それぞれのプロジェクト毎にworking_directoryを設定したほうが良いだろう。
その場合、以下のような設定になるかと思う。
version: 2 jobs: build: working_directory: ~/my_project docker: - image: circleci/ruby:2.4.1-node-browsers steps: - checkout - restore_cache: name: Restore bundle cache key: my_project-{{ checksum "Gemfile.lock" }} - run: name: Run bundle install command: bundle install --path vendor/bundle - save_cache: name: Store bundle cache key: my_project-{{ checksum "Gemfile.lock" }} paths: - vendor/bundle ...
上記の設定の場合だと、リポジトリがチェックアウトされる場所は
「/home/circleci/my_project」になる。
また上記のように設定することで、
gemがキャッシュされ、
CircleCIが回るたびに、「bundle install」が走らなくなる。
ただし注意してほしいのは、必ずbundle installのコマンドには
「-- path vendor/bundle」を設定することと
save_cacheのpathsにvendor/bundleを設定すること。
自分の場合、bundle installに「-- path vendor/bundle」を付けておらず
毎度bundle installが実行され、かなりの時間を無駄にした。