使用bundler在rails3中部署scp?

时间:2012-08-30 19:09:10

标签: ruby-on-rails bundler

好的,这个棘手的问题又出现了,我们仍然很难找到解决方案。

问题

我们有一个Gemfile:

group :development do
  gem 'debugger'
end

部署到生产时,Passenger因为无法找到gem'调试器'而爆炸。

约束

  • ops不会将'debugger'安装到prod

  • 部署后我们无法运行任何shell命令,例如bundle installbundle --without development

  • 我们无法在本地运行bundle --without development并复制Gemfile.lock或.bundle / *目录(因为suggested before)因为我们的开发机器与我们的prod机器不同。

  • prod机器与http://rubygems.org隔离。在prod机器上安装/更新方式的宝石是通过手动gem install请求操作。

  • 所有应用程序的宝石都在prod机器上共享(没有rvm等)

  • 我们确实有一个在部署

  • 之后运行的rake任务

我们当前的解决方案

  • 在发布到prod之前检查Gemfile并注释掉开发组。以后取消评论。根据发布周期中的位置重复。 (容易出错)

我能想到的可能的解决方案

  • 保留两个版本的Gemfile(即Gemfile.dev Gemfile.prod),并使用rake任务将它们交换/转换为Gemfile。

0 个答案:

没有答案