部署 怎样快速解决 Gemfile 中的依赖关系

xdz0611 · 2014年03月03日 · 最后由 iBachue 回复于 2014年03月04日 · 3049 次阅读

各位好,我们公司现在的 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 好吧 那是世界上平均网速最快的地方吧。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号