Last active
December 15, 2015 01:39
-
-
Save cyjake/5181417 to your computer and use it in GitHub Desktop.
capistrano deploy config for rabel app.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# encoding: utf-8 | |
# config/deploy.rb | |
# | |
# - 使用 Unicorn | |
# - 链接 rabel 的配置文件和用户上传内容 | |
# - 使用 RVM | |
# Add RVM's lib directory to the load path. | |
require "rvm/capistrano" | |
set :rvm_ruby_string, '1.9.3-p392' | |
set :rvm_type, :user | |
# http://gembundler.com/deploying.html | |
require 'bundler/capistrano' | |
# set this to keep from missing any password prompts | |
default_run_options[:pty] = true | |
set :ssh_options, { :forward_agent => true } | |
set :application, 'rabel' | |
set :scm, 'git' | |
set :scm_verbose, false | |
set :deploy_via, :remote_cache | |
set :deploy_to, "/var/www/wenyi.me" | |
set :unicorn_pid, "#{current_path}/tmp/pids/unicorn.pid" | |
set :repository, "[email protected]:daqing/#{application}.git" | |
set :branch, ENV['BRANCH'] || 'v2.0' | |
set :use_sudo, false | |
set :user, 'foo' | |
set :domain, 'wenyi.me' | |
set :rails_env, 'production' | |
role :web, domain | |
role :app, domain | |
role :db, domain, :primary => true | |
namespace :deploy do | |
desc "启动服务" | |
task :start, :roles => :app do | |
run "cd #{current_path}; bundle exec unicorn_rails --port 3800 --env #{rails_env} --daemonize" | |
end | |
desc "停止服务" | |
task :stop, :roles => :app do | |
run "kill `cat #{unicorn_pid}`" | |
end | |
desc "重新加载服务" | |
task :reload, :roles => :app do | |
run "kill -s USR2 `cat #{unicorn_pid}`" | |
end | |
desc "重新启动服务" | |
task :restart, :roles => :app do | |
stop | |
start | |
end | |
desc '收拾房间,链接文件' | |
task :housekeeping, :roles => :app do | |
run "rm -f #{current_path}/config/initializers/siteconf.rb" | |
run "ln -s #{shared_path}/config/siteconf.rb #{current_path}/config/initializers/siteconf.rb" | |
run "rm -f #{current_path}/config/database.yml" | |
run "ln -s #{shared_path}/config/database.yml #{current_path}/config/database.yml" | |
run "rm -rf #{current_path}/config/settings.yml" | |
run "ln -s #{shared_path}/config/settings.yml #{current_path}/config/settings.yml" | |
run "rm -rf #{current_path}/public/uploads" | |
run "ln -s #{shared_path}/uploads #{current_path}/public/uploads" | |
run "cd #{current_path}; RAILS_ENV=#{rails_env} bundle exec rake assets:clean" | |
run "cd #{current_path}; RAILS_ENV=#{rails_env} bundle exec rake assets:precompile" | |
end | |
end | |
after 'deploy:create_symlink', 'deploy:housekeeping', 'deploy:migrate' | |
after 'deploy', 'deploy:cleanup' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment