如题,服务器环境完全物理隔离,请问各位有什么好的部署方法?
我目前的做法是编译安装 ruby,将需要的 gems 在本地安装好之后 scp 至服务器,在服务器执行 gem install *.gem 进行离线安装。
但是,gem 包有依赖关系,离线安装似乎是按照包名顺序安装的,所以 gem install *.gem 并不能一次成功安装所有的 gem。。。
完全物理隔离是不可能的,比如你不是还可以 scp 嘛,楼主应该说清楚是怎样的隔离方式,比如服务器是否可以自己访问外网,或者受限访问外网(受到类似国家防火墙的阻挡)等等
1.在服务器上安装 ruby,安装 bundle 的 gem。 2.确保本地安装后 rails 的目录下面存在 vendor/cache 目录,然后整个工程上传到服务器。 3.最后在工程目录下执行:
bundle install --local --gemfile Gemfile --path #{your_install_path}/shared/bundle --deployment --quiet --without development test
完成后可以看一下,存在一个.bundle 的隐藏目录,里面的 config 文件指向正确。