ruby-on-rails – 使用Passenger部署rails应用程序的最快方法
发布时间:2020-12-17 02:58:31 所属栏目:百科 来源:网络整理
导读:我正在使用Rails 2.3.5开发Dreamhost服务器. 每次我对网站进行更改时,我都必须ssh进入网站,删除所有文件,上传包含该网站所有新文件的zip文件,解压缩该文件,迁移数据库,然后继续. 有些东西告诉我有一种更快的方式来部署rails应用程序.我正在使用mac Time Mach
我正在使用Rails 2.3.5开发Dreamhost服务器.
每次我对网站进行更改时,我都必须ssh进入网站,删除所有文件,上传包含该网站所有新文件的zip文件,解压缩该文件,迁移数据库,然后继续. 有些东西告诉我有一种更快的方式来部署rails应用程序.我正在使用mac Time Machine来跟踪我的应用程序的不同版本.我知道git跟踪文件,但我真的不知道如何使用它来部署我的应用程序,因为乘客为我照顾所有的魔力. 什么是更快的部署我的应用程序的方式(并避免在我删除服务器上的所有文件时与我的方法相关的停机时间)? 谢谢! 解决方法
然后去找自己的Capistrano助手:
http://github.com/westarete/capistrano-helpers
这是我自己网站的简化注释部署文件. require 'capistrano-helpers/branch' # prompts for branch require 'capistrano-helpers/passenger' # Support for Apache passenger require 'capistrano-helpers/version' # Record the version number after deploying require 'capistrano-helpers/privates' # handle sensitive files require 'capistrano-helpers/shared' set :application,"site" set :repository,"file://." set :scm,"git" set :branch,"rails3" set :deploy_via,:copy set :copy_exclude,[ ".git","assets","test","Capfile","vishvish.tmproj","bin" ] set :deploy_to,"/blah/blah.com/#{application}" set :user,"blah" set :domain,"blah.com" #Things you want symlinked afterwards,not in version control. set :privates,%w{ config/database.yml } #Things you want shared across deployments,not uploaded every time. set :shared,%w{ uploads } role :app,domain role :web,domain role :db,domain,:primary => true namespace :deploy do desc "Restarting mod_rails with restart.txt" task :restart,:roles => :app,:except => { :no_release => true } do run "touch #{current_path}/tmp/restart.txt" end [:start,:stop].each do |t| desc "#{t} task is a no-op with mod_rails" task t,:roles => :app do ; end end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |