2010-02-09 2 views
1

내 호스트의 지시에 따라 첫 번째 Rails 배포와 카피 스트라 노를 사용하고 있습니다.카피스트라노 디렉토리 문제 설치

나는 plantality.com 도메인을 가지고 있습니다.

내 응용 프로그램 용 gws 폴더를 만들었습니다.

나는 capistrano와 함께 설치했고 찾을 수있는 모든 위키 지침을 따랐습니다.

으로 public_html는 GWS/공공 가리키는하지만 난 두 번 내 deploy.rb 경로가 올바른지 확인했습니다

capistano 현재 GWS/내 응용 프로그램을 설치하고있다. 내가 GWS 사이에 심볼릭 링크를 만들었습니다

은/공공 및 public_html을 (내가 GWS// 현재 공공 및 public_html을 사이에 하나를 시도했지만 도움이되지 않았다.

내가 어떤을 만드는 경우 여객를 사용하려고 해요 . 차이 여기

내 deploy.rb입니다 :

set :user, 'plantali' 
set :scm_username, 'solent' 
set :scm_password, '<removed>' 
set :svnserver, 'plantality.sourcerepo.com' 
set :application, "gws" 
set :repository, "http://#{svnserver}/plantality/gws/gws" 
set :server, 'plantality.com' 
set :applicationdir, 'gws' 
set :use_sudo, false 
set :keep_releases, 5 
set :scm, :subversion 

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

set :deploy_to, "/home/#{user}/#{applicationdir}" 
set :group_writeable, false 
+0

위의 예에서는': applicationdir' 지시자가 필요하지 않음에 유의하십시오. Capistrano 협약은 응용 프로그램 디렉토리 이름이 응용 프로그램 이름과 같을 것이라는 가정하에': application'을 사용하는 것입니다. –

답변

2

카피 스트라 노의 releases 디렉토리 아래 소인이 디렉토리에 자료를 배포하고 Rails 애플리케이션 위스콘신의 루트를 가리키는 current라는 이름의 심볼릭 링크를 생성 최신 릴리스 디렉토리가 얇습니다. †

그러므로 애플리케이션의 Rails 루트는 /home/<user>/gws/current/이며 이에 따라 애플리케이션을 제공하도록 Passenger를 구성해야합니다. 여객이 사용하는 가상 호스트에 /home/<user>/gws/current/public으로 Apache DocumentRoot을 설정하고 Passenger를 다시 시작하십시오.

† 덧붙여서 이것은 Capistrano가 나쁜 릴리스를 쉽게 롤백 할 수있는 방법입니다. — 심볼 링크를 다시 생성하여 이전 타임 스탬프 릴리스를 가리 킵니다.

+0

나는 꼭두각시와 카피스트라노 상황을 어떻게하는지 알아 내려고 노력하고있다. 꼭두각시가 유령을 ..../현재/대중을 가리 키기를 원하지만, 꼭두각시가 잘 맞을 때까지는 모자가 배치 될 때까지는 존재하지 않습니다. 어떤 아이디어? – jrochkind