Question

J'ai deux fichiers-config

/app/config/database.yml

et

/app/config/userconfig.yml

Je ne veux pas mettre les informations d'identification de base de données et UserConfig dans le dépôt svn, donc j'ai database.yml.dist et userconfig.yml.dist check-in.

Quelle est la meilleure façon d'obtenir copys des fichiers dist dans le répertoire partagé lors du déploiement de l'application pour la première fois?

Pour plus tard, je vais déploie un lien vers eux de / app / courant / config

Était-ce utile?

La solution

Vous devez placer vos fichiers de configuration dans

/path/to/deployed_app/shared

Ensuite, dans une tâche de Capistrano, lien sym à ces fichiers:

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"

Autres conseils

Dans Capistrano v3, vous pouvez utiliser une tâche appelée deploy:symlink:shared.

Fournir une liste des fichiers que vous avez placé dans le répertoire partagé, donc Capistrano sait quels fichiers des liens symboliques lors de la tâche est exécutée. Cela se fait généralement dans deploy.rb:

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

associés: Capistrano - Comment mettre les fichiers dans le dossier partagé?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top