効果
設定 | 時間 |
---|---|
デフォルト | 3~4分 |
並列化 & キャッシュ | 1分 |
方法
.travis.yml
に以下を追加するだけ
# bundlerのオプションを変更 # 並列で実行する数を4にしてインストールするパスをvendor/bundleに変える install : bundle install --jobs=4 --path vendor/bundle # vendor/bundleをキャッシュする cache: directories: - vendor/bundle
bundle installを並列で実行する
gemが大量にあったり、ネイティブエクステンションを使ってたりするとビルドが遅くなります。なので並列でインストールして高速化します。
bundle install
はTravis CIのデフォルトだと3個並列で実行されます。これを4個に増やします。
install : bundle install --jobs=4
gemをキャッシュする
テストを走らせる度に何回もbundle install
を繰り返してインストールするのは非常に効率が悪いです。なのでgemをキャッシュして再インストールが必要なgemだけインストールします。
bundlerのオプションをオーバーライドしてインストールするディレクトリを変えます。
install : bundle install --jobs=4 --path vendor/bundle
これでvendor/bundleにgemがインストールされます。が、このままだとvendor/bundleはキャッシュされないので設定を追加します。
cache: directories: - vendor/bundle
これでキャッシュされる。