Git Can';t通过Capistrano部署Rails应用程序
我尝试在vds上运行我的第一个Rails 3应用程序。所以,我决定用capistrano来做这个。还有Phusion passenger、Nginx、RVM和ruby 1.9.3 我将此链接用作教程- 所以,当我打印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
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"