6

Ich habe zwei config-DateienWo setzen Sie Ihre App-config-Dateien, wenn Schienen mit Capistrano und svn

/app/config/database.yml 

und

/app/config/userconfig.yml 

Bereitstellung ich will nicht um die Datenbank setzen credentials und userconfig im svn-repository, also habe ich database.yml.dist und userconfig.yml.dist eingecheckt.

Was ist der beste Weg, Copys der dist-Dateien im shared-Verzeichnis beim Deployment zu bekommen die App für r das erste Mal?

Für setzt später i von/app/Strom/config

Antwort

10

ihnen verbinden werden Sie Ihre Konfigurationsdateien in

/path/to/deployed_app/shared 

Dann in einer Capistrano Aufgabe, sym-Link zu diesen Seiten abgelegt werden:

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" 
1

In Capistrano v3 können Sie eine Aufgabe namens deploy:symlink:shared verwenden.

Geben Sie eine Liste der Dateien an, die Sie im freigegebenen Verzeichnis abgelegt haben. Daher weiß Capistrano, welche Dateien bei der Ausführung der Aufgabe symbolisiert werden sollen. Dies wird in der Regel in deploy.rb getan:

set :linked_files, %w{ 
    app/config/database.yml 
    app/config/userconfig.yml 
} 

Verwandte: Capistrano - How to put files in the shared folder?

+0

Capistrano nicht bieten eine Möglichkeit, diese Dateien von Ihrem lokalen Baum obwohl zu laden, werden Sie dies manuell zu tun haben (über SSH in der Regel) oder verwenden Sie eine benutzerdefinierte Aufgabe wie hier erklärt: http://stackoverflow.com/a/23520809/814224 – xuuso

Verwandte Themen