【问题标题】:Use Capistrano to deploy production and development environments使用 Capistrano 部署生产和开发环境
【发布时间】:2012-08-24 16:12:11
【问题描述】:

我已经设置 Capistrano 在生产服务器上部署我的 Rails 应用程序,这工作正常。

我现在需要能够在开发服务器上部署相同的应用程序。为此,我在 config.deploy.rb 中创建了 2 个任务:

desc "Run on development server" 
task :dev do 
  server "development_server", :web, :app, :db, :primary => true
end 

desc "Run on production server" 
task :production do 
  server "production_server", :web, :app, :db, :primary => true
end

这样做,要在 dev 上执行部署,我需要使用:

上限开发部署

但是,我无法告诉 Capitrano 在正确的环境上运行捆绑包,它使用“--without development test”选项,而我需要“--without test production”

failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3' -c 'cd /var/be/releases/20120824155742 && bundle install --gemfile /var/be/releases/20120824155742/Gemfile --path /var/be/shared/bundle --deployment --quiet --without development test'" on 192.168.1.10

知道如何执行此操作吗?

另外,我如何有选择地在开发或生产环境中开始精简?我需要为每个任务创建一个任务还是有什么特殊的方法可以做到这一点?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 capistrano


    【解决方案1】:

    最好的方法是使用 Capistrano Multistage 扩展。 This Wiki 会更好地解释它是如何使用的。我唯一遇到的小问题是:require 'capistrano/ext/multistage' 不需要 require 'capistrano'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-25
      • 1970-01-01
      • 2021-04-08
      • 2010-11-12
      • 2018-06-04
      • 2014-08-02
      • 1970-01-01
      相关资源
      最近更新 更多