1

我尝试在 vds 上运行我的第一个 Rails 3 应用程序。所以,我决定为此使用 capistrano。我也有 Phusion 乘客、Nginx、RVM 和 ruby​​ 1.9.3。

我将此链接用作教程 - https://github.com/capistrano/capistrano/wiki/2.x-From-The-Beginning

所以,当我打印

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

但是当我尝试做下一步时:

cap deploy:update

我收到奇怪的错误:

  * 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

我该如何解决?

这是我的config/deploy.rb

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"
4

1 回答 1

3

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

set :repository, "git://github.com/Loremaster/sample_app.git"
于 2012-01-18T17:37:56.030 回答