2016-04-02 16 views
1

Ich versuche, eine Rails 4.2.5 Anwendung auf einem Produktionsserver mit Capistrano 3.4.0 zu implementieren. Die Einrichtung ist ziemlich einfach, aber auf die Aufgabe precompile Vermögen in Capistrano bekomme ich folgende Fehlermeldung:Capistrano Bereitstellung und Entwicklung geheimer Schlüssel

Devise.secret_key was not set. Please add the following to your Devise initializer:

config.secret_key = '{some generated secret}'

Please ensure you restarted your application after installing Devise or setting the key.

Nach Stunden und Stunden der Forschung, habe ich einfach folgendes getan:

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

Dann SSH ich in den Server und exportiere die Variable. Jedoch, wenn ich cap production deploy mache, bekomme ich immer noch den Fehler.

Der genaue Befehl lautet:

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

ich alle Fragen GitHub gelesen haben und Antworten Stackoverflow, aber keiner von ihnen scheint mein Problem zu beheben, den Edelstein einschließlich neu zu installieren. Ich habe mir auch den Quellcode des Geräts angeschaut, aber nach dem, was ich mache, sollte es funktionieren, also denke ich, das Problem ist die Umgebung (Capistrano). Irgendwelche Hinweise werden geschätzt.

Antwort

0

Was Sie versuchen zu tun ist sinnvoll, und ich verwende eine ähnliche Einrichtung. Ich benutze RVM jedoch nicht - ich frage mich, ob es Ihre Umgebung richtig erbt? Man könnte dies debuggen ziemlich leicht durch eine Capistrano Aufgabe geschaffen werden, wie:

task :printenv do run "printenv" end

+2

Danke, nach ein paar Stunden der Fehlersuche im Zusammenhang, wie Capistrano behandelt Umgebungsvariablen, ich die Variable am Anfang von '~/exportiert. bashrc' und es hat funktioniert. – arnaudoff

Verwandte Themen