我刚在Heroku上设置了一个Ruby on Rails应用程序,但是我遇到了一个CI设置性能问题,这非常令人烦恼。
在我们进行单元测试的设置过程中,Heroku总是重新安装我们的gems,生成类似以下的日志:
在这两种情况下,bundler 看起来都是使用正确的参数被调用:
(对于 CI 设置)
(用于应用程序设置)
在这两种情况下,我们都有这一行代码:
在我们进行单元测试的设置过程中,Heroku总是重新安装我们的gems,生成类似以下的日志:
Fetching activestorage 6.0.2.2
Installing activestorage 6.0.2.2
在设置我们的应用程序时,情况并非如此,因为它会显示像这样的行:
Using activestorage 6.0.2.2
在这两种情况下,bundler 看起来都是使用正确的参数被调用:
(对于 CI 设置)
Running: bundle install --without development --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
(用于应用程序设置)
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
在这两种情况下,我们都有这一行代码:
Bundled gems are installed into `./vendor/bundle`
所以,我想知道:你是否知道为什么Heroku在CI测试设置之间不缓存gems,而在我们应用程序的连续构建期间是这样的?
如果是,有没有一种方法可以强制重复使用先前在我们的CI管道中安装的gems?这需要很多时间,可以从中受益。
非常感谢。