Capistrano部署和设计密钥

时间:2016-04-02 21:37:53

标签: ruby-on-rails ruby-on-rails-4 devise capistrano3

我正在尝试使用Capistrano 3.4.0将Rails 4.2.5应用程序部署到生产服务器。设置非常简单,但是,对于capistrano中的资产预编译任务,我收到以下错误:

  

未设置Devise.secret_key。请将以下内容添加到您的Devise初始化程序中:

     

config.secret_key ='{some generated secret}'

     

请确保在安装Devise或设置密钥后重新启动应用程序。

经过数小时和数小时的研究,我完成了以下工作:

if Rails.env == 'production'
  config.secret_key = ENV['DEVISE_SECRET_KEY']
end

然后我SSH到服务器并导出变量。但是,当我cap production deploy时,我仍然会收到错误。

确切的命令是:

cd /home/deploy/app/releases/20160402210708 && ( export RAILS_ENV="production" ; ~/.rvm/bin/rvm default do bundle exec rake assets:precompile )

我已经阅读了所有GitHub问题和StackOverflow答案,但它们似乎都没有解决我的问题,包括重新安装gem。我也研究了设计源代码,但根据它我正在做什么应该工作,所以我猜问题是环境(Capistrano)相关。任何提示都表示赞赏。

1 个答案:

答案 0 :(得分:0)

你想要做的事情是有意义的,我使用类似的设置。但是,我没有使用RVM - 我想知道它是否正确地继承了您的环境?你可以通过创建类似于:

的Capistrano任务来相当容易地调试它

task :printenv do run "printenv" end

相关问题