Tại sao tôi nhận được authenicationFailed khi tôi cố gắng chạy thiết lập triển khai? Tôi đang sử dụng ssh làm mật khẩu của mình. Tôi có cần phải thay đổi bất cứ điều gì trong database.yml hoặc deploy.rb. Chúng được liệt kê dưới đây.Capistrano Deploy - Net :: SSH :: AuthenticationFailed - AWS EC2
$ cap deploy:setup
* executing `deploy:setup'
* executing "sudo -p 'sudo password: ' mkdir -p /var/www/apps/sample_app /var/www/apps/sample_app
/releases /var/www/apps/sample_app/shared /var/www/apps/sample_app/shared/system /var/www
/apps/sample_app/shared/log /var/www/apps/sample_app/shared/pids"
servers: ["ec2-20-21-42-51.compute-1.amazonaws.com"]
Password:
connection failed for: ec2-20-21-42-51.compute-1.amazonaws.com
(Net::SSH::AuthenticationFailed: ubuntu)
deploy.rb
# The name of your app
set :application, "sample_app"
# The directory on the EC2 node that will be deployed to
set :deploy_to, "/var/www/apps/#{application}"
set :keep_releases, 3
# deploy with git
set :scm, :git
set :repository, "[email protected]:username/sample_app.git"
set :git_shallow_clone, 1
set :branch, "master"
set :use_sudo, true
set :user, "ubuntu"
ssh_options[:forward_agent] = true
default_run_options[:pty] = true
# The address of the remote host on EC2 (the Public DNS address)
set :location, "ec2-20-21-42-51.compute-1.amazonaws.com"
# setup some Capistrano roles
role :app, location
role :web, location
role :db, location, :primary => true
after 'deploy:update_code', 'deploy:symlink_db'
namespace :deploy do
desc "Restart Application"
task :restart, :roles => :app do
run "touch #{deploy_to}/#{shared_dir}/tmp/restart.txt"
end
desc "Symlinks the database.yml"
task :symlink_db, :roles => :app do
run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
end
end
database.yml
development:
adapter: mysql2
database: db/development.mysql2
pool: 5
timeout: 5000
database: sample_app
username: root
socket: /tmp/mysql.sock
test:
adapter: mysql2
database: db/test.mysql2
pool: 5
timeout: 5000
database: sample_app
username: root
socket: /tmp/mysql.sock
production:
adapter: mysql2
database: db/production.mysql2
pool: 5
timeout: 5000
database: sample_app
username: ubuntu
socket: /var/run/mysqld/mysqld.sock
cách chúng tôi xử lý điều này khi một số nhà phát triển triển khai? – juanpastas
'ssh_options [: keys] = [File.join (ENV [" HOME "]," /.ssh/key.pem ")]' –