我已将config/database.yml
添加到我的.gitignore
文件中。并将此添加到deploy.rb文件
namespace(:customs) do
task :symlink_db, :roles => :app do
run "cp #{shared_path}/config/database.yml #{release_path}/config/database.yml"
end
end
after "deploy:update_code", "customs:symlink_db"
但现在我跑cap deploy
。我收到了错误
No such file or directory - /var/www/XXXX/releases/20130313100825/config/database.yml
我该如何解决?
注意:此前已经发布了一个版本。我对应用程序进行了一些更改并再次部署它。
由于
答案 0 :(得分:2)
您想使用符号链接,因为它不关心源文件是否存在。
task :symlink_db_yml do
run "ln -s #{shared_path}/config/database.yml #{release_path}/config/database.yml"
end
并且您希望在bundle:install之前执行它,因为新的应用程序目录不是在deploy:update_code阶段创建的。
before 'bundle:install', 'customs:symlink_db_yml'