在capistrano部署Rails3应用程序期间,我希望我的服务器在每次部署时使用Gemfile.lock安装gem.因为我的服务器没有rvm和所有..所有宝石都应该作为系统宝石安装.
要安装系统gem,我们需要把sudo gem install anygem或者bunder,我们需要在我们当前的capistrano部署结构目录中提供命令sudo bundle install.
每次我部署时,我的部署都会在gems安装过程中中断.我需要运行sudo bundle install.为此,我需要一个capistrano的部署钩子.由bundler gem本身提供的预构建的对我来说不起作用.我的困惑归结为这三个问题.
>我什么时候应该在部署过程中调用sudo bundle install命令 – 我的意思是在哪个capistrano任务之后?
>要使用capistrano运行sudo命令,我应该在我的cap文件中指定哪些声明?注意 – 我已经将我的公钥作为我的服务器中的授权密钥.
>如何将bundle install hook写入cap文件?
请帮忙.
解决方法
如果您运行bundle install –deployment,则不应该需要sudo访问权限,因为gem应该安装到应用程序中的vendor / bundle而不是系统本身.