免責聲明:我是Rails和Capistrano(但是一箇中級.NET C#開發人員)嘗試瞭解更多信息的noob。如何從頂部(用於FastCGI)部署Capistrano Rails 2.3.2應用程序?
我已經有最難的時候獲得Capistrano開發過程設置。這裏是我到目前爲止我deploy.rb:
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:
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沒有腳本/程序的目錄,以便重新啓動任務沒有按根本不工作。我該如何解決?
- 當部署應用程序(「set:rails_env,:production」不這樣做)時,有沒有辦法將environment.rb中的RAILS_ENV變量設置爲「production」?
- 另外,我是否缺少這些2個文件中的其他內容?
您的示例代碼幫助我瞭解如何使用Capistrano。我很難找到關於如何正確設置標準deploy.rb和Capfile的官方文檔,其中包含各種場景的變量和任務。 – gabe 2009-05-21 13:47:40
很高興幫助。當我寫這篇文章的時候,缺少文檔更加明顯,而且我在網絡上發現的點點滴滴拼湊在一起。 – 2009-05-21 14:06:55
我幾乎在做同樣的事情。我會很快發佈我的最終版本作爲我的問題的更新。 – gabe 2009-05-21 15:22:44