2012-06-21 2 views
1

nginx, passenger, ruby ​​1.9.3-p194 및 rails 3.2.6을 사용하여 Linode VPS를 올바르게 설정했습니다. 나는 배치를 통과하는 간단한 Cap 레시피 (아래 참조)를 구축했습니다 : setup 및 deploy : 검사하지만 자산 사전 컴파일 단계에서는 실패합니다. 원격 서버에서 손으로 프리 컴파일을 실행하려고 시도하지만 Cap 롤백하므로 실행할 수 없습니다.Capistrano와 함께 Rails 3.2.6 앱을 설치하는 데 문제가 있습니다.

오류는 PG 오류처럼 보입니다. 그러나 database.yml 설정을 기반으로 서버에 수동으로 연결을 테스트했으며 완벽하게 작동합니다. 어떤 생각 일 수 있니?

deploy.rb 
require "bundler/capistrano" 

server "50.116.25.145", :web, :app, :db, primary: true 

set :application, "exigencad" 
set :user, "deploy" 
set :deploy_to, "/home/#{user}/#{application}" 
set :deploy_via, :remote_cache 
set :use_sudo, false 

set :scm, "git" 
set :repository, "[email protected]:teknull/#{application}.git" 
set :branch, "master" 


default_run_options[:pty] = true 
ssh_options[:forward_agent] = true 

after "deploy", "deploy:cleanup" # keep only the last 5 releases 

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 


task :after_update_code do 
run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml" 
end 

after :deploy, "assets:precompile" 

Error from Capistrano: 
executing `deploy:assets:precompile' 
    * executing "cd /home/deploy/exigencad/releases/20120621170601 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile" 
    servers: ["50.116.25.145"] 
    [50.116.25.145] executing command 
** [out :: 50.116.25.145] rake aborted! 
** [out :: 50.116.25.145] FATAL: Peer authentication failed for user "exigen" 
** [out :: 50.116.25.145] 
** [out :: 50.116.25.145] Tasks: TOP => environment 
** [out :: 50.116.25.145] 
** [out :: 50.116.25.145] (See full trace by running task with --trace) 
    command finished in 6433ms 
*** [deploy:update_code] rolling back 
+0

이것은 모두 단일 서버에서 실행됩니다. 맞습니까? –

답변

2

은 문제와 완전히 관련이 없을 수 있지만 캡 배포를 실행하는 동안 동일한 오류가 발생하기 때문에 마이그레이션을 언급합니다. database.yml의 프로덕션 db에 대해 host : localhost를 설정 했습니까? 그 라인을 추가하면 나를 위해 문제가 해결되었습니다.

+0

이것은 나를 위해 일했습니다. 나는 같은 문제를 가지고 있었다. 심지어 rake db : migrate는 서버에서 일했다. 캡은 여전히 ​​"피어 인증 실패"로 실패합니다. – chaostheory

0

application.rb 파일에 config.assets.initialize_on_precompile = false을 추가해보세요. 도움이됩니다.

관련 문제