2013-08-30 15 views
5

Sunucumdaki bir uzak git deposu kullanılarak raylarım 4 uygulamasını capistrano ile dağıtmaya çalışıyorum. Benim git repo'm aynı sunucuyu üzerindeyim. Uygulamamı dağıtıyorum. Ben cap deploy deneyin hiç İçinde şifremi girdikten hiç reddedildi diyor zaman bu hatayıNeden dağıtmaya çalışırken "İzin Reddedildi" durumuna geçiyorum?

my/local/rails/app/directory$ cap deploy 
    triggering load callbacks 
    * 2013-08-30 15:51:20 executing `deploy' 
    * 2013-08-30 15:51:20 executing `deploy:update' 
** transaction: start 
    * 2013-08-30 15:51:20 executing `deploy:update_code' 
    updating the cached checkout on all servers 
    executing locally: "git ls-remote ssh://[email protected]/var/repos/test.git master" 
    command finished in 684ms 
    * executing "if [ -d /var/www/test/www/shared/cached-copy ]; then cd /var/www/test/www/shared/cached-copy && git fetch origin && git fetch --tags origin && git reset --hard 9de1df43a7959b953dc0b35c2ab27ba84698602a && git clean -d -x -f; else git clone -b master ssh://[email protected]/var/repos/test.git /var/www/test/www/shared/cached-copy && cd /var/www/test/www/shared/cached-copy && git checkout -b deploy 9de1df43a7959b953dc0b35c2ab27ba84698602a; fi" 
    servers: ["myserver.com"] 
    [myserver.com] executing command 
** [myserver.com :: out] Cloning into '/var/www/test/www/shared/cached-copy'... 
** [myserver.com :: out] 
** [myserver.com :: out] [email protected]'s password: 
Password: 
** [myserver.com :: out] 
** [myserver.com :: out] Permission denied, please try again. 
** [email protected]'s password: 
Password: 
** [myserver.com :: out] 
** [myserver.com :: out] Permission denied, please try again. 
** [email protected]'s password: 
Password: 
** [myserver.com :: out] 
** [myserver.com :: out] Permission denied (publickey,password). 
** fatal: Could not read from remote repository. 
** 
** Please make sure you have the correct access rights 
** and the repository exists. 
    command finished in 18891ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/test/www/releases/20130830225140; true" 
    servers: ["myserver.com"] 
    [myserver.com] executing command 
    command finished in 700ms 
failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-2.0.0-p247' -c 'if [ -d /var/www/test/www/shared/cached-copy ]; then cd /var/www/test/www/shared/cached-copy && git fetch origin && git fetch --tags origin && git reset --hard 9de1df43a7959b953dc0b35c2ab27ba84698602a && git clean -d -x -f; else git clone -b master ssh://[email protected]/var/repos/test.git /var/www/test/www/shared/cached-copy && cd /var/www/test/www/shared/cached-copy && git checkout -b deploy 9de1df43a7959b953dc0b35c2ab27ba84698602a; fi'" on myserver.com 

olsun ve emin olduğum zaman şifre doğrudur. İşte benim deploy.rb

require 'bundler/capistrano' 
require 'rvm/capistrano' 

set :user, 'user' 
set :domain, 'myserver.com' 
set :application, "blog" 
set :repository, "ssh://[email protected]/var/repos/test.git" 
set :scm_passphrase, "password" 
set :deploy_to, '/var/www/test/www' 
set :deploy_via, :remote_cache 
set :scm, :git 
set :branch, 'master' 
set :scm_verbose, true 
set :use_sudo, false 
set :normalize_asset_timestamps, false 
set :rails_env, :production 

set :rvm_type, :system 
set :rvm_ruby_string, 'ruby-2.0.0-p247' 
# set :scm, :git # You can set :scm explicitly or Capistrano will make an intelligent guess based on known version control directory names 
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none` 

role :web, domain       # Your HTTP server, Apache/etc 
role :app, domain       # This may be the same as your `Web` server 
role :db, domain, :primary => true # This is where Rails migrations will run 

default_run_options[:pty] = true 
ssh_options[:forward_agent] = true 
after "deploy", "deploy:migrate", "deploy:restart" 
after "deploy:update", "deploy:restart" 

# if you want to clean up old releases on each deploy uncomment this: 
# after "deploy:restart", "deploy:cleanup" 

# if you're still using the script/reaper helper you will need 
# these http://github.com/rails/irs_process_scripts 

# If you are using Passenger mod_rails uncomment this: 
# namespace :deploy do 
# task :start do ; end 
# task :stop do ; end 
# task :restart, :roles => :app, :except => { :no_release => true } do 
#  run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" 
# end 
# end 

namespace :deploy do 
    desc "cause Passenger to restart" 
    task :restart do 
     run "touch #{current_path}/tmp/restart.txt" 
    end 
end 

Ben şu iyi çalışıyor bu yüzden, bir ssh anahtarı ile komut satırından benim sunucusuna ssh mümkün. Herhangi biri problemin ne olduğunu biliyor mu? Teşekkürler.

cevap

5

Bu benim için geçmişte çalıştı. Umarım sizin için çalışır:

+0

Bunu nereye koyardım? – oobie11

+0

Repo'yu klonlamak için kullanılan makineden deneyin. Her ikisinde de yapmak zarar vermez. – kikuchiyo

+1

OH MY ALLAH !!! Teşekkürler, günlerdir bununla uğraşıyorum! Bunu geliştirme makinemde koştum. Ssh_add/.shh/id_rsa' tam olarak nedir? – oobie11

İlgili konular