Git Can';t通过Capistrano部署Rails应用程序

Git Can';t通过Capistrano部署Rails应用程序,git,ruby-on-rails-3.1,github,capistrano,ruby-1.9.3,Git,Ruby On Rails 3.1,Github,Capistrano,Ruby 1.9.3,我尝试在vds上运行我的第一个Rails 3应用程序。所以,我决定用capistrano来做这个。还有Phusion passenger、Nginx、RVM和ruby 1.9.3 我将此链接用作教程- 所以,当我打印 cap deploy:check 然后一切正常: * executing `deploy:check' * executing "test -d /vol/www/apps/ror_tutorial/releases" servers: ["188.127.224.1

我尝试在vds上运行我的第一个Rails 3应用程序。所以,我决定用capistrano来做这个。还有Phusion passenger、Nginx、RVM和ruby 1.9.3

我将此链接用作教程-

所以,当我打印

cap deploy:check
然后一切正常:

* executing `deploy:check'
  * executing "test -d /vol/www/apps/ror_tutorial/releases"
    servers: ["188.127.224.136"]
Password: <my password>
    [188.127.224.136] executing command
    command finished in 87ms
  * executing "test -w /vol/www/apps/ror_tutorial"
    servers: ["188.127.224.136"]
    [188.127.224.136] executing command
    command finished in 63ms
  * executing "test -w /vol/www/apps/ror_tutorial/releases"
    servers: ["188.127.224.136"]
    [188.127.224.136] executing command
    command finished in 72ms
  * executing "which git"
    servers: ["188.127.224.136"]
    [188.127.224.136] executing command
    command finished in 65ms
You appear to have all necessary dependencies installed
我收到一个奇怪的错误:

  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    executing locally: "git ls-remote git@github.com:Loremaster/sample_app.git master"
    command finished in 4097ms
  * executing "git clone -q git@github.com:Loremaster/sample_app.git /vol/www/apps/ror_tutorial/releases/20120118170908 && cd /vol/www/apps/ror_tutorial/releases/20120118170908 && git checkout -q -b deploy f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 && (echo f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 > /vol/www/apps/ror_tutorial/releases/20120118170908/REVISION)"
    servers: ["188.127.224.136"]
Password: <my password>
    [188.127.224.136] executing command
 ** [188.127.224.136 :: out] Permission denied (publickey).
 ** fatal: The remote end hung up unexpectedly
    command finished in 1573ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /vol/www/apps/ror_tutorial/releases/20120118170908; true"
    servers: ["188.127.224.136"]
    [188.127.224.136] executing command
    command finished in 63ms
failed: "sh -c 'git clone -q git@github.com:Loremaster/sample_app.git /vol/www/apps/ror_tutorial/releases/20120118170908 && cd /vol/www/apps/ror_tutorial/releases/20120118170908 && git checkout -q -b deploy f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 && (echo f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 > /vol/www/apps/ror_tutorial/releases/20120118170908/REVISION)'" on 188.127.224.136

您需要使用公共存储库地址(除非您想将服务器的ssh密钥提供给GitHub,而您不应该这样做):


当我的私钥不在进行克隆的机器上时,我遇到了这个问题。
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    executing locally: "git ls-remote git@github.com:Loremaster/sample_app.git master"
    command finished in 4097ms
  * executing "git clone -q git@github.com:Loremaster/sample_app.git /vol/www/apps/ror_tutorial/releases/20120118170908 && cd /vol/www/apps/ror_tutorial/releases/20120118170908 && git checkout -q -b deploy f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 && (echo f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 > /vol/www/apps/ror_tutorial/releases/20120118170908/REVISION)"
    servers: ["188.127.224.136"]
Password: <my password>
    [188.127.224.136] executing command
 ** [188.127.224.136 :: out] Permission denied (publickey).
 ** fatal: The remote end hung up unexpectedly
    command finished in 1573ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /vol/www/apps/ror_tutorial/releases/20120118170908; true"
    servers: ["188.127.224.136"]
    [188.127.224.136] executing command
    command finished in 63ms
failed: "sh -c 'git clone -q git@github.com:Loremaster/sample_app.git /vol/www/apps/ror_tutorial/releases/20120118170908 && cd /vol/www/apps/ror_tutorial/releases/20120118170908 && git checkout -q -b deploy f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 && (echo f0cf5d0141c80ab82d9191e72aabeddb8cf6e552 > /vol/www/apps/ror_tutorial/releases/20120118170908/REVISION)'" on 188.127.224.136
set :user, "root"

default_run_options[:pty] = true                                             
set :repository,  "git@github.com:Loremaster/sample_app.git"

set :application, "ror_tutorial"
set :deploy_to, "/vol/www/apps/#{application}"

set :scm, :git
set :branch, "master"


server "188.127.224.136", :app,
                          :web,
                          :db, :primary => true

namespace :passenger do
  desc "Restart Application"
  task :restart do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

after :deploy, "passenger:restart"
set :repository, "git://github.com/Loremaster/sample_app.git"