Capistrano在发送到服务器之前捆绑了宝石

时间:2011-08-24 07:35:35

标签: ruby-on-rails-3 capistrano

我的服务器无法访问外部资源(宝石等),因此我手动运行

bundle package

然后上传代码并运行

bundle install --local

我怎样才能从Capistrano中获得相同的行为?使用Bundler配方,尝试在服务器上安装捆绑包。我喜欢;

在构建机器上

  1. 从SVN结账
  2. 运行捆绑包
  3. 压缩并上传工件
  4. 在应用程序服务器上

    1. 展开Zip工件
    2. 运行bundle install --local
    3. 启动服务器
    4. 我试过

      after("deploy:update_code") do
          system("cd #{copy_cache} && bundle package")
      end
      

      但这会结帐并上传,结账后似乎没有附加的地方,但在拉链之前。

1 个答案:

答案 0 :(得分:1)

最好的方法是在开发工作站上运行bundle package,然后将捆绑的gem提交给源代码控制,然后运行;

bundle install --deployment