Wo setzen Sie Ihre App-config-Dateien, wenn Schienen mit Capistrano und SVN-Bereitstellung
-
22-08-2019 - |
Frage
Ich habe zwei config-Dateien
/app/config/database.yml
und
/app/config/userconfig.yml
ich will nicht die Datenbank-Anmeldeinformationen und userconfig im SVN-Repository setzen, so habe ich database.yml.dist und userconfig.yml.dist eingecheckt.
Was ist der beste Weg copys die dist-Dateien im Shared-Verzeichnis zu erhalten, wenn die App zum ersten Mal des Einsatz?
Für später setzt i auf sie verweisen werde von / app / Strom / config
Lösung
Sie sollten Ihre Konfigurationsdateien in
platzieren/path/to/deployed_app/shared
Dann in einer Capistrano Aufgabe, sym-Link zu den Dateien:
namespace :deploy do
task :symlink_shared do
run "ln -s #{shared_path}/database.yml #{release_path}/config/"
end
end
before "deploy:restart", "deploy:symlink_shared"
Andere Tipps
In Capistrano v3 können Sie eine Aufgabe verwenden genannt deploy:symlink:shared
.
Geben Sie eine Liste von Dateien, die Sie im freigegebenen Verzeichnis abgelegt, so Capistrano weiß, welche Symlink-Dateien, wenn die Aufgabe ausgeführt wird. Dies wird in der Regel in deploy.rb
getan:
set :linked_files, %w{
app/config/database.yml
app/config/userconfig.yml
}
Verwandte: Capistrano - So platzieren Sie Dateien im freigegebenen Ordner?