在使用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 – 如何将文件放入共享文件夹?