Tôi đang cố gắng triển khai ứng dụng 4 đường ray của tôi với capistrano bằng cách sử dụng kho lưu trữ git từ xa trên máy chủ của tôi. Repo git của tôi nằm trên cùng một máy chủ mà tôi đang triển khai ứng dụng của mình. Khi bao giờ tôi cố gắng một cap deploy
tôi nhận được lỗi nàyTại sao tôi nhận được "Quyền bị từ chối" khi cố gắng triển khai giới hạn?
my/local/rails/app/directory$ cap deploy
triggering load callbacks
* 2013-08-30 15:51:20 executing `deploy'
* 2013-08-30 15:51:20 executing `deploy:update'
** transaction: start
* 2013-08-30 15:51:20 executing `deploy:update_code'
updating the cached checkout on all servers
executing locally: "git ls-remote ssh://[email protected]/var/repos/test.git master"
command finished in 684ms
* executing "if [ -d /var/www/test/www/shared/cached-copy ]; then cd /var/www/test/www/shared/cached-copy && git fetch origin && git fetch --tags origin && git reset --hard 9de1df43a7959b953dc0b35c2ab27ba84698602a && git clean -d -x -f; else git clone -b master ssh://[email protected]/var/repos/test.git /var/www/test/www/shared/cached-copy && cd /var/www/test/www/shared/cached-copy && git checkout -b deploy 9de1df43a7959b953dc0b35c2ab27ba84698602a; fi"
servers: ["myserver.com"]
[myserver.com] executing command
** [myserver.com :: out] Cloning into '/var/www/test/www/shared/cached-copy'...
** [myserver.com :: out]
** [myserver.com :: out] [email protected]'s password:
Password:
** [myserver.com :: out]
** [myserver.com :: out] Permission denied, please try again.
** [email protected]'s password:
Password:
** [myserver.com :: out]
** [myserver.com :: out] Permission denied, please try again.
** [email protected]'s password:
Password:
** [myserver.com :: out]
** [myserver.com :: out] Permission denied (publickey,password).
** fatal: Could not read from remote repository.
**
** Please make sure you have the correct access rights
** and the repository exists.
command finished in 18891ms
*** [deploy:update_code] rolling back
* executing "rm -rf /var/www/test/www/releases/20130830225140; true"
servers: ["myserver.com"]
[myserver.com] executing command
command finished in 700ms
failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-2.0.0-p247' -c 'if [ -d /var/www/test/www/shared/cached-copy ]; then cd /var/www/test/www/shared/cached-copy && git fetch origin && git fetch --tags origin && git reset --hard 9de1df43a7959b953dc0b35c2ab27ba84698602a && git clean -d -x -f; else git clone -b master ssh://[email protected]/var/repos/test.git /var/www/test/www/shared/cached-copy && cd /var/www/test/www/shared/cached-copy && git checkout -b deploy 9de1df43a7959b953dc0b35c2ab27ba84698602a; fi'" on myserver.com
Khi bao giờ tôi nhập mật khẩu của tôi ở trong đó nói rằng sự cho phép từ chối và tôi chắc chắn rằng mật khẩu là chính xác. Đây là tôi deploy.rb
require 'bundler/capistrano'
require 'rvm/capistrano'
set :user, 'user'
set :domain, 'myserver.com'
set :application, "blog"
set :repository, "ssh://[email protected]/var/repos/test.git"
set :scm_passphrase, "password"
set :deploy_to, '/var/www/test/www'
set :deploy_via, :remote_cache
set :scm, :git
set :branch, 'master'
set :scm_verbose, true
set :use_sudo, false
set :normalize_asset_timestamps, false
set :rails_env, :production
set :rvm_type, :system
set :rvm_ruby_string, 'ruby-2.0.0-p247'
# set :scm, :git # You can set :scm explicitly or Capistrano will make an intelligent guess based on known version control directory names
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
role :web, domain # Your HTTP server, Apache/etc
role :app, domain # This may be the same as your `Web` server
role :db, domain, :primary => true # This is where Rails migrations will run
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
after "deploy", "deploy:migrate", "deploy:restart"
after "deploy:update", "deploy:restart"
# if you want to clean up old releases on each deploy uncomment this:
# after "deploy:restart", "deploy:cleanup"
# if you're still using the script/reaper helper you will need
# these http://github.com/rails/irs_process_scripts
# If you are using Passenger mod_rails uncomment this:
# namespace :deploy do
# task :start do ; end
# task :stop do ; end
# task :restart, :roles => :app, :except => { :no_release => true } do
# run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
# end
# end
namespace :deploy do
desc "cause Passenger to restart"
task :restart do
run "touch #{current_path}/tmp/restart.txt"
end
end
Tôi có thể ssh vào máy chủ của tôi từ dòng lệnh với một phím ssh, do đó, thats làm việc tốt. Bất cứ ai biết vấn đề là gì? Cảm ơn.
Tôi sẽ đặt nó ở đâu? – oobie11
Hãy thử từ máy attemtping để sao chép repo. Không làm tổn thương để làm điều đó trên cả hai mặc dù. – kikuchiyo
OH MY GOD !!! Cảm ơn bạn, tôi đã đấu tranh với điều này trong nhiều ngày! Tôi chạy nó trên máy phát triển của mình. Chính xác thì 'ssh_add/.shh/id_rsa' đang làm gì? – oobie11