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)?
謝謝!