면책 조항 : 저는 Rails와 Capistrano (하지만 중급 .NET C# 개발자)의 놈입니다.Capistrano가 설치된 레일 2.3.2 앱을 맨 위부터 배포하는 방법 (FastCGI 용)?
저는 카피스트라노 개발 프로세스 설정에있어 가장 힘든 시간을 보냈습니다. 여기
set :application, "MyAppName"
set :domain, "domainname"
set :user, "userid"
set :repository, "svn+ssh://#{user}@#{domain}/home/#{user}/svn/#{application}/trunk"
set :rails_env, :production
set :chmod755, %w(app config db lib public vendor script tmp public/dispatch.cgi public/dispatch.fcgi public/dispatch.rb)
set :deploy_to, "/home/#{user}/apps/#{application}"
set :use_sudo, false
set :deploy_via, :checkout
set :group_writable, false
default_run_options[:pty] = true
role :app, domain
role :web, domain
role :db, domain, :primary => true
내 Capfile 것 : 여기 난 내 deploy.rb에 대한 지금까지이 무엇
load 'deploy' if respond_to?(:namespace) # cap2 differentiator
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
load 'config/deploy'
namespace :deploy do
task :restart, :roles => :app do
run "#{current_path}/script/process/reaper --dispatcher=dispatch.fcgi"
end
desc "Set the proper permissions for directories and files on HostingRails accounts"
task :after_deploy do
run(chmod755.collect do |item|
"chmod 755 #{current_path}/#{item}"
end.join(" && "))
end
end
- 레일 2.3.2 재시작 작업 아무튼 그래서 스크립트/프로세스 디렉토리가 없습니다 전혀 일하지 않아. 이 문제를 어떻게 해결할 수 있습니까?
- 응용 프로그램을 배포 할 때 environment.rb의 RAILS_ENV 변수를 "production"으로 설정하는 방법이 있습니까 ("set : rails_env, : production")?
- 또한이 두 파일의 내용이 누락 되었습니까? 내 대답을 업데이트
예제 코드는 Capistrano 사용법을 이해하는 데 도움이되었습니다.다양한 시나리오에 대한 변수 및 작업으로 표준 deploy.rb & Capfile을 올바르게 설정하는 방법에 대한 공식 문서를 찾는 데는 매우 어려움이 있습니다. – gabe
도움이 된 것을 기쁘게 생각합니다. 필자가 썼을 때, 문서의 부족은 더욱 두드러졌으며, 웹에서 찾은 조각들과 함께 자갈을 맺었다. –
나는 똑같이하고있다. 곧 내 질문에 대한 업데이트로 최종 버전을 게시 할 예정입니다. – gabe