各位好,我们公司现在的 sinatra 应用是用 capistrano 来进行部署的。第一次部署的时候会很慢很慢,因为在安装依赖的 gem,这个应该是 bundle install 吧。或者如果新提交的代码增加了 gem 包,也会很慢。
有没有办法快速解决这里的依赖关系呢?有时候需要紧急扩容的话就会感到很无赖,太多依赖了。我想的是,比如把 gem 包打包到本地,或者自己安装一个小型的 gem 仓库?
有这方面的指引或者说明吗,多谢。
自己用诸如 geminabox 搭建个镜像
http://bundler.io/v1.5/bundle_package.html
把包放到项目里面,缺点是提交进 git repo 后体积会很大。
直接 copy 目录算不算???
#2 楼 @Rei
这个会死人的。。
你用了有多少的 gem?我遇见过的再大的项目 bundle install 也不会超过 30 秒 是不是你的源太慢了 国内服务器就用淘宝的吧 我日本的服务器用官方源 基本是 10m 以上的下载速度 毫不感觉卡...
#5 楼 @zj0713001 不超过 30 个啊,而且用的是淘宝源。我估计跟我们用的云主机有关?一般都是单核或者双核。我看 bundle install 的时候会调用 gcc 进行编译啊,奇怪,gem 包不都是打包好了的吗?
#6 楼 @xdz0611 我折腾的主机 一般情况都是网速的问题 很少出现编译过慢的问题...
#5 楼 @zj0713001 天哪 Ruby China 本身就能 bundle install 很久呢 你什么网速
#8 楼 @iBachue 日本的服务器 当地大约下载速度 10m 吧 是个不限速的 vps
#9 楼 @zj0713001 好吧 那是世界上平均网速最快的地方吧。。