6

Tengo dos archivos config-¿Dónde poner las app-config-archivos al desplegar los carriles con Capistrano y SVN

/app/config/database.yml 

y

/app/config/userconfig.yml 

no quiero poner la base de datos credenciales y userconfig en el repositorio svn, entonces tengo database.yml.dist y userconfig.yml.dist registrado.

¿Cuál es la mejor manera de obtener copys de los dist-files en el directorio compartido cuando se despliega la aplicación fo ¿La primera vez?

para más tarde despliega voy enlace a ellos desde/app/corriente/config

Respuesta

10

Usted debe colocar los archivos de configuración en

/path/to/deployed_app/shared 

Luego, en una tarea de Capistrano, sym enlace a los archivos:

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

En Capistrano v3, puede utilizar una tarea llamada deploy:symlink:shared.

Proporcione una lista de los archivos que colocó en el directorio compartido, por lo que Capistrano sabe qué archivos enlazar cuando se ejecuta la tarea. Esto normalmente se hace en deploy.rb:

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

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

+0

Capistrano no proporciona una manera de subir estos archivos desde el árbol local sin embargo, usted tiene que hacer esto manualmente (a través de SSH típicamente) o use una tarea personalizada como se explica aquí: http://stackoverflow.com/a/23520809/814224 – xuuso

Cuestiones relacionadas