0
我嘗試編寫一個capistrano部署腳本,通過用戶輸入設置數據庫憑據。capistrano - 寫入database.yml
在我的部署文件:
after "deploy:update_code", "db:write_credentials"
namespace :db do
task :write_credentials do
@username = Capistrano::CLI.password_prompt('mysql_username: ')
@password = Capistrano::CLI.password_prompt('mysql_password: ')
@config = YAML::load(File.open("#{current_path}/config/database.yml"))['production']
@config["username"] = @username
@config["password"] = @password
end
end
運行「上限部署」,然後輸入腳本失敗消息「沒有這樣的文件或目錄的用戶名和密碼後 - 在/ var/WWW/rails_app /電流/ config/database.yml(Errno :: ENOENT)「。
該路徑下的文件存在於服務器上,我也將它放在我的git倉庫中。
我找不出爲什麼找不到文件。 任何提示?
不要使用捕獲!捕獲將只適用於第一臺服務器,如果其他服務器產生了不同的結果,你不會注意到! – knocte
錯字:s/out/output / – knocte