2013-03-13 96 views
2

我已将config/database.yml添加到我的.gitignore文件中。并已将此添加到deploy.rb文件用capistrano部署database.yml时出错

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

尽管出现错误,但您并未链接该文件,而是正在复制该文件。也许你想改变这一点。 – aromero 2013-03-13 18:39:16

回答

2

你想用一个符号,因为它不会关心,如果源文件是还没有。

task :symlink_db_yml do 
    run "ln -s #{shared_path}/config/database.yml #{release_path}/config/database.yml" 
end 

而你要束之前执行它:安装,如在部署不会创建新的应用程序目录:update_code阶段。

​​