From ca541c98915fd42e79af7b93c831097d9efb86a8 Mon Sep 17 00:00:00 2001 From: Vasily Gotovko Date: Mon, 5 Nov 2012 09:56:52 +0300 Subject: [PATCH] Add unicorn tasks --- Gemfile | 2 +- config/config.example.yml | 2 ++ config/deploy.example.rb | 23 +++++++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index d977433..d26d3fa 100644 --- a/Gemfile +++ b/Gemfile @@ -95,7 +95,7 @@ group :test do gem 'timecop' end -group :heroku do +group :heroku, :production do gem 'unicorn' end diff --git a/config/config.example.yml b/config/config.example.yml index 86eb03f..532d549 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -53,6 +53,8 @@ deployment: repository: http://github.com/errbit/errbit.git user: deploy deploy_to: /var/www/apps/errbit + # setup path to unicorn pids folder (or deploy_to/shared/pids will be used) + # pids: /var/www/apps/errbit/shared/pids # GitHub OAuth configuration # If you want to allow authentication via GitHub, you will need to register diff --git a/config/deploy.example.rb b/config/deploy.example.rb index a134eed..1e1c771 100644 --- a/config/deploy.example.rb +++ b/config/deploy.example.rb @@ -39,6 +39,8 @@ set(:current_branch) { `git branch`.match(/\* (\S+)\s/m)[1] || raise("Couldn't d set :branch, defer { current_branch } after 'deploy:update_code', 'errbit:symlink_configs' +# uncomment if unicorn is running on production (do not forget to setup config) +# after 'deploy:restart', 'unicorn:stop' namespace :deploy do task :start do ; end @@ -72,3 +74,24 @@ namespace :db do end end +namespace :unicorn do + set(:unicorn_pid) do + path = config['pids'] || "#{deploy_to}/shared/pids" + "`cat #{path}/unicorn.pid`" + end + + desc 'Reload unicorn' + task :reload, :roles => :app, :except => { :no_release => true } do + run "kill -HUP #{unicorn_pid}" + end + + desc 'Stop unicorn' + task :stop, :roles => :app, :except => { :no_release => true } do + run "kill -QUIT #{unicorn_pid}" + end + + desc 'Reexecute unicorn' + task :reexec, :roles => :app, :except => { :no_release => true } do + run "kill -USR2 #{unicorn_pid}" + end +end -- libgit2 0.21.2