Wie legen Sie die Umgebungsvariable auf capistrano deploy?
In meiner rails-app, ich-header der Antwort von env:
response.headers['application-version'] = ENV["APPLICATION_VERSION"]
Ich versuche set env-variable in capistrano deploy-Datei, aber das funktioniert nicht.
set :default_environment, {
'APPLICATION_VERSION' => Time.now.strftime('%Y%m%d%H%M%S%L')
}
Wie ich env-variable auf bereitstellen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einstellung
default_environment
(oderdefault_env
für Capistrano 3.x) werden nur die Variablen beim bereitstellen von Befehlen. Aus der docs:Wenn Sie möchten, legen Sie die Umgebungsvariablen verwendet werden, indem Sie Ihre rails-server---das ist ein anderer Prozess, andere vm-Instanz in einen anderen login-session - ---Sie müssen, um die env-Variablen für die Sitzung sein, der ausgeführt wird, z.B. über
.bashrc
,.profile
,.zshrc
oder was auch immer-shell, die Sie verwenden. Sie können auch einige environment-variable manager wie direnv, rbenv-vars, etc.Hoffe, das hilft.
In eine Rails-app, ich nutze Capistrano 3. Ich setze meine Variablen mit
default_env
Für andere Rails-app, ich nutze Capistrano 2. Dort verwende ich:default_environment
zu Variablen festlegen.default_env
nur wird die variable während der Bereitstellung.Ich bin installieren gem Figaro, update capistrano2 Datei:
Und wo muss ich application_version variable, bekomme ich es im Schienen-Datei:
p.s: 'deploy:restart "don' T reload config/application.yml-Datei, müssen: 'deploy:stop' und 'deploy:start'