【发布时间】:2015-05-16 11:50:01
【问题描述】:
我收到undefined local variable or method 'rails_env'when
执行“cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec rake sunspot:solr:stop”
我不是 Capistrano 或 Rails 专家。
在 deploy.rb 我有
namespace :solr do
desc "start solr"
task :start do
on roles(:app) do
execute "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec rake sunspot:solr:start"
end
end
desc "stop solr"
task :stop do
on roles(:app) do
execute "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec rake sunspot:solr:stop"
end
end
desc "reindex the whole database"
task :reindex do
on roles(:app) do
invoke 'solr:stop'
execute "rm -rf #{shared_path}/solr/data/*"
invoke 'solr:start'
execute "cd #{current_path} && RAILS_ENV=#{rails_env} d"
end
end
desc "Symlink in-progress deployment to a shared Solr index"
task :symlink do
on roles(:app) do
execute "ln -s #{shared_path}/solr/data/ #{release_path}/solr/data"
execute "ln -s #{shared_path}/solr/pids/ #{release_path}/solr/pids"
invoke 'solr:reindex'
end
end
end
after "deploy:finishing", "solr:symlink"
在 deploy/staging.rb 我有
set :rails_env, :staging
错过了什么?
【问题讨论】:
标签: ruby-on-rails solr capistrano capistrano3