在部署 Rails3 应用程序的 Capistrano 过程中,我希望我的服务器能够使用 Gemfile.lock 安装所有 gem,而且由于我的服务器没有安装 rvm 等工具,所有 gem 都应该作为系统 gem 安装。
要安装系统 gem,我们需要在 capistrano 部署结构的 current 目录下执行
每次部署时,我的部署过程都会在安装 gem 的过程中中断。我需要运行
要安装系统 gem,我们需要在 capistrano 部署结构的 current 目录下执行
sudo gem install anygem
命令,或者对于 bundler,我们需要执行 sudo bundle install
命令。每次部署时,我的部署过程都会在安装 gem 的过程中中断。我需要运行
sudo bundle install
命令。因此,我需要一个 Capistrano 部署钩子。Bundler gem 自带的预构建钩子对我不起作用。我的困惑归结为以下三个问题:
- 在部署过程中,在哪个 Capistrano 任务之后应该调用
sudo bundle install
命令? - 使用 Capistrano 运行
sudo
命令时,我应该在我的 Cap 文件中指定哪些声明?注意:我已经将我的公钥推送到了服务器的授权密钥中。 - 如何在
cap
文件中编写 bundle install 钩子?