사용자 입력을 통해 데이터베이스 자격 증명을 설정하는 capistrano 배치 스크립트를 작성하려고합니다. 내 배포 파일에서capistrano - write 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 repo에도 있습니다.
파일을 찾을 수없는 이유를 알 수 없습니다. 힌트가 있습니까?
캡처 사용하지 마십시오! 캡처는 첫 번째 서버에서만 작동합니다. 다른 서버가 다른 서버를 생성하면 알 수 없습니다! – knocte
오타 : s/출력/출력 / – knocte