2

我已添加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

我如何解决它 ?

注意:在此之前已经发布了。我对应用程序进行了一些更改并再次部署它。

谢谢

4

1 回答 1

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'
于 2013-03-14T04:56:04.673 回答