在使用capistrano和svn部署rails时,在哪里放置app-config-files

我有两个配置文件

/app/config/database.yml 

 /app/config/userconfig.yml 

我不想将数据库凭据和userconfig放在svn-repository中,所以我签入了database.yml.dist和userconfig.yml.dist。

在第一次部署应用程序时,在共享目录中获取dist文件的copys的最佳方法是什么?

对于以后的部署,我将从/ app / current / config链接到它们

您应该将配置文件放入

 /path/to/deployed_app/shared 

然后在capistrano任务中,sym链接到这些文件:

 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" 

在Capistrano v3中,您可以使用名为deploy:symlink:shared的任务deploy:symlink:shared

提供放置在共享目录中的文件列表,以便Capistrano在运行任务时知道哪些文件符号链接。 这通常在deploy.rb完成:

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

相关: Capistrano – 如何将文件放入共享文件夹?