Où voulez-vous mettre vos fichiers app-config-lors du déploiement de rails avec Capistrano et svn
-
22-08-2019 - |
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
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é?