【发布时间】:2016-07-22 14:23:15
【问题描述】:
我正在尝试使用 Capistrano 3.4.0 将 Rails 4.2.5 应用程序部署到生产服务器。设置非常简单,但是,在 capistrano 中的资产预编译任务中,我收到以下错误:
Devise.secret_key 未设置。请在您的设计初始化程序中添加以下内容:
config.secret_key = '{一些生成的秘密}'
请确保您在安装 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)有关。任何提示表示赞赏。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 devise capistrano3