Pregunta

Tengo dos archivos config-

/app/config/database.yml

y

/app/config/userconfig.yml

no quiero poner las credenciales de base de datos y userconfig en el repositorio SVN-, así que tengo database.yml.dist y userconfig.yml.dist registramos.

¿Cuál es la mejor manera de conseguir copys de los dist-archivos en el directorio compartido al desplegar la aplicación por primera vez?

Para más adelante despliega voy enlace a ellos desde / app / corriente / config

¿Fue útil?

Solución

Usted debe colocar los archivos de configuración en

/path/to/deployed_app/shared

A continuación, en una tarea de Capistrano, sym enlace a esos 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"

Otros consejos

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

Proporcionar una lista de archivos que se colocan en el directorio compartido, por lo Capistrano sabe qué archivos para enlazar simbólicamente cuando se ejecuta la tarea. Esto normalmente se realiza en deploy.rb:

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

Capistrano - ¿Cómo poner archivos en la carpeta compartida?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top