Rad*_*ado 6 ruby continuous-integration bundler
确保在任何 gem 构建的构建节点上安装依赖项的最佳实践是什么?
bundle exec
如果尚未安装某些依赖项,则会失败。
我应该做什么
bundle install
bundle exec rake
Run Code Online (Sandbox Code Playgroud)
在每个构建上?
或者,还有更好的方法?
bin/setup
Rails 附带的脚本用作预bundle check || bundle install
光标步骤。这可能是一个很好的起点。
bundle install --frozen
我在我们的管道上使用;freeze 确保 Gemfile.lock 不会发生任何更改。我们使用缓存,所以我什至不用担心这个bundle check
步骤。
如果您可以提供有关您的设置的更多详细信息(docker?kubernetes?托管提供商?),如果是捆绑安装时间造成了问题,那么有人可能会推荐捆绑器的缓存策略。
但通常情况下,对于 CI 管道,我们总是bundle install --frozen
在构建的早期运行,即使我们设置了缓存机制。我注意到在某些情况下,恢复表单缓存时可执行文件不会自动链接,因此这可以确保一切正常。无论如何,它并不慢;通过缓存,该bundle install --frozen
步骤只需一两秒。
归档时间: |
|
查看次数: |
2577 次 |
最近记录: |