6

J'ai deux fichiers-configOù voulez-vous mettre vos fichiers app-config-lors du déploiement de rails avec Capistrano et svn

/app/config/database.yml 

et

/app/config/userconfig.yml 

je ne veux pas mettre la base de données credentials et userconfig dans le svn-repository, donc j'ai les fichiers database.yml.dist et userconfig.yml.dist enregistrés.

Quel est le meilleur moyen d'obtenir copys des fichiers dist dans le répertoire partagé lors du déploiement l'application fo r la première fois?

Pour la suite déploie je vais créer un lien vers eux, vous devez placer de/app/courant/config

Répondre

10

vos fichiers de configuration dans

/path/to/deployed_app/shared 

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

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

Fournissez une liste des fichiers que vous avez placés dans le répertoire partagé, afin que Capistrano sache quels sont les fichiers à symétriser lorsque 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 
} 

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

+0

Capistrano ne fournit pas un moyen de télécharger ces fichiers à partir de votre arbre local cependant, vous devrez le faire manuellement (via SSH généralement) ou utilisez une tâche personnalisée comme expliqué ici: http://stackoverflow.com/a/23520809/814224 – xuuso

Questions connexes