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