2015-04-24 149 views
2

代理轉發不適用於舊的回購,但它適用於其他回購/服務器。我在Github上回購的合作者,所以我應該能夠部署:capistrano ssh代理轉發 - 權限被拒絕(publickey)

bundle exec cap production deploy 

不過,我得到:

DEBUG [4639b372] Command: cd /home/deploy/apps/xxx/repo && (RBENV_ROOT=/usr/local/rbenv RBENV_VERSION=1.9.3-p286 GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/xxx/git-ssh.sh /usr/bin/env git remote update) 
DEBUG [4639b372] Fetching origin 
DEBUG [4639b372] Permission denied (publickey). 
DEBUG [4639b372] fatal: The remote end hung up unexpectedly 
DEBUG [4639b372] error: Could not fetch origin 
cap aborted! 
Exception while executing as [email protected]: git exit status: 1 
git stdout: Fetching origin 
git stderr: Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 
error: Could not fetch origin 
/Users/hector/.rvm/gems/ruby-2.1.2/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:16:in `rescue in block (2 levels) in execute' 
/Users/hector/.rvm/gems/ruby-2.1.2/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute' 
Tasks: TOP => git:create_release => git:update 
(See full trace by running task with --trace) 
The deploy has failed with an error: #<SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: git exit status: 1 
git stdout: Fetching origin 
git stderr: Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 
error: Could not fetch origin 

這是我deploy.rb:

set :application, 'xxx' 
set :deploy_user, 'xxx' 

# setup repo details 
set :scm, :git 
set :repo_url, '[email protected]:xxx/xxx.git' 

# setup rvm. 
set :rbenv_type, :system 
set :rbenv_ruby, '1.9.3-p286' 
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec" 
set :rbenv_map_bins, %w{rake gem bundle ruby rails} 

# how many old releases do we want to keep, not much 
set :keep_releases, 5 

# files we want symlinking to specific entries in shared 
set :linked_files, %w{config/database.yml config/xxx.yml config/yetting.yml} 

# dirs we want symlinking to shared 
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system} 

# what specs should be run before deployment is allowed to 
# continue, see lib/capistrano/tasks/run_tests.cap 
set :tests, [xxx] 

set(:config_files, %w(
    xxx.xxx 
)) 

set(:executable_config_files, %w(
    unicorn_init.sh 
)) 


namespace :deploy do 
    # make sure we're deploying what we think we're deploying 
    before :deploy, "deploy:check_revision" 
    before :deploy, "deploy:run_tests" 
    after 'deploy:symlink:shared', 'deploy:compile_assets_locally' 
    after :finishing, 'deploy:cleanup' 
    after 'deploy:cleanup', 'airbrake:notify' 

end 

我在Mac OS 10.10.1中使用capistrano 3.2.1

任何想法爲什麼我的權限被拒絕(publickey)?

謝謝!

回答

3

問題是回購已經改變,舊的緩存回購不得不被刪除。

rm -rf repo 
相關問題