vlad-unicorn 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gemtest ADDED
File without changes
data/History.txt CHANGED
@@ -1,3 +1,11 @@
1
+ === 2.1.0 / 2011-09-30
2
+
3
+ * 1 minor enhancement
4
+
5
+ * Now uses SIGHUP to restart
6
+
7
+ * Added documentation on use with Rails 2.3 apps with Bundler
8
+
1
9
  === 2.0.0 / 2010-09-18
2
10
 
3
11
  * 1 major enhancement
data/README.txt CHANGED
@@ -29,6 +29,9 @@ or for legacy Rails (1.2.x thru 2.2.x) apps
29
29
  rescue LoadError
30
30
  end
31
31
 
32
+ For more on specific issues when deploying Rails applications, see
33
+ rails-configuration.txt[link:docs/rails-configuration_txt.html].
34
+
32
35
  == REQUIREMENTS:
33
36
 
34
37
  * Vlad[http://rubyhitsquad.com/Vlad_the_Deployer.html]
@@ -57,7 +60,8 @@ unicorn_use_sudo:: Whether to use sudo to run the 'unicorn' command on
57
60
  the remote host. Probably necessary if you specify a
58
61
  user and group in unicorn.rb.
59
62
 
60
- Also see rails-configuration.txt.
63
+ For more on specific issues when deploying Rails applications, see
64
+ rails-configuration.txt[link:docs/rails-configuration_txt.html].
61
65
 
62
66
  == LICENSE:
63
67
 
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ Hoe.spec 'vlad-unicorn' do
10
10
  developer('Kevin R. Bullock', 'kbullock@ringworld.org')
11
11
  extra_deps << ['vlad', '~> 2.0']
12
12
  clean_globs << '.yardoc'
13
- self.hg_release_tag_prefix = 'rel-'
13
+ self.hg_release_tag_prefix = 'v'
14
14
  end
15
15
 
16
16
  # vim: syntax=ruby
@@ -1,5 +1,7 @@
1
1
  = Configuring Unicorn for Rails
2
2
 
3
+ == Setting environment and prefix
4
+
3
5
  The astute observer will notice the lack of variables in vlad-unicorn to set
4
6
  the Rails environment or a path prefix for the app (the +unicorn_rails+
5
7
  command allows this with with the +--env+ and +--path+ options, respectively).
@@ -8,3 +10,13 @@ environment variables in the unicorn.rb config file, like so:
8
10
 
9
11
  ENV['RAILS_ENV'] = 'production'
10
12
  ENV['RAILS_RELATIVE_URL_ROOT'] = '/prefix'
13
+
14
+ == Using with Rails 2.3 and Bundler
15
+
16
+ When using Rails 2.3 with Bundler, you have to <code>bundle exec</code>
17
+ everything. This can be done by setting +unicorn_command+ in your deploy.rb.
18
+ Since Vlad doesn't change into the +RAILS_ROOT+ directory before attempting to
19
+ run remote commands, though, you have to explicitly tell Bundler where the
20
+ Gemfile is:
21
+
22
+ set :unicorn_command, "bundle --gemfile=#{current_path}/Gemfile exec unicorn_rails"
data/lib/vlad/unicorn.rb CHANGED
@@ -8,7 +8,6 @@ namespace :vlad do
8
8
 
9
9
  desc "(Re)Start the app servers"
10
10
  remote_task :start_app, :roles => :app do
11
- Rake::Task['vlad:stop_app'].invoke
12
- Vlad::Unicorn.maybe_sudo unicorn(unicorn_rackup)
11
+ Vlad::Unicorn.start(unicorn_rackup)
13
12
  end
14
13
  end
@@ -2,9 +2,9 @@ require 'vlad'
2
2
 
3
3
  module Vlad
4
4
  module Unicorn
5
- VERSION = '2.0.0' #:nodoc:
5
+ VERSION = '2.1.0' #:nodoc:
6
6
 
7
- # Runs +cmd+ using sudo if the +:merb_use_sudo+ variable is set.
7
+ # Runs +cmd+ using sudo if the +:unicorn_use_sudo+ variable is set.
8
8
  def self.maybe_sudo(cmd)
9
9
  if unicorn_use_sudo
10
10
  sudo cmd
@@ -12,29 +12,33 @@ module Vlad
12
12
  run cmd
13
13
  end
14
14
  end
15
+
16
+ def self.signal(sig = '0')
17
+ %(test -s "#{unicorn_pid}" && kill -#{sig} `cat "#{unicorn_pid}"`)
18
+ end
19
+
20
+ def self.start(opts = '')
21
+ cmd = signal('HUP')
22
+ cmd << %( || #{unicorn_command} -D --config-file #{unicorn_config} #{opts})
23
+ maybe_sudo %(sh -c '#{cmd}')
24
+ end
25
+
26
+ def self.stop
27
+ cmd = signal('QUIT')
28
+ cmd << %( || echo "stale pid file #{unicorn_pid}")
29
+ maybe_sudo %(sh -c '#{cmd}')
30
+ end
15
31
  end
16
32
  end
17
33
 
18
34
  namespace :vlad do
19
-
20
35
  set :unicorn_command, "unicorn"
21
36
  set(:unicorn_config) { "#{current_path}/config/unicorn.rb" }
22
37
  set :unicorn_use_sudo, false
23
38
  set(:unicorn_pid) { "#{shared_path}/pids/unicorn.pid" }
24
39
 
25
- def unicorn(opts = '')
26
- cmd = "#{unicorn_command} -D --config-file #{unicorn_config}"
27
- cmd << " #{opts}"
28
- cmd
29
- end
30
-
31
40
  desc "Stop the app servers"
32
41
  remote_task :stop_app, :roles => :app do
33
- cmd = []
34
- cmd << %(if [ -f "#{unicorn_pid}" ])
35
- cmd << %(then kill `cat #{unicorn_pid}` || echo "stale pid file #{unicorn_pid}")
36
- cmd << %(fi)
37
- Vlad::Unicorn.maybe_sudo %Q(sh -c '#{cmd.join("; ")}')
42
+ Vlad::Unicorn.stop
38
43
  end
39
-
40
44
  end
@@ -8,7 +8,6 @@ namespace :vlad do
8
8
 
9
9
  desc "(Re)Start the app servers"
10
10
  remote_task :start_app, :roles => :app do
11
- Rake::Task['vlad:stop_app'].invoke
12
- Vlad::Unicorn.maybe_sudo unicorn
11
+ Vlad::Unicorn.start
13
12
  end
14
13
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vlad-unicorn
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease: false
4
+ hash: 11
5
+ prerelease:
6
6
  segments:
7
7
  - 2
8
+ - 1
8
9
  - 0
9
- - 0
10
- version: 2.0.0
10
+ version: 2.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kevin R. Bullock
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-18 00:00:00 -05:00
19
- default_executable:
18
+ date: 2011-09-30 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: vlad
@@ -34,37 +33,21 @@ dependencies:
34
33
  type: :runtime
35
34
  version_requirements: *id001
36
35
  - !ruby/object:Gem::Dependency
37
- name: rubyforge
36
+ name: hoe
38
37
  prerelease: false
39
38
  requirement: &id002 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ">="
43
42
  - !ruby/object:Gem::Version
44
- hash: 7
43
+ hash: 35
45
44
  segments:
46
45
  - 2
47
- - 0
46
+ - 9
48
47
  - 4
49
- version: 2.0.4
48
+ version: 2.9.4
50
49
  type: :development
51
50
  version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: hoe
54
- prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 21
61
- segments:
62
- - 2
63
- - 6
64
- - 1
65
- version: 2.6.1
66
- type: :development
67
- version_requirements: *id003
68
51
  description: |-
69
52
  Unicorn app server support for Vlad. Adds support for vlad:start_app and
70
53
  vlad:stop_app using Unicorn[http://unicorn.bogomips.org/].
@@ -90,7 +73,7 @@ files:
90
73
  - lib/vlad/unicorn_common.rb
91
74
  - lib/vlad/unicorn_rails.rb
92
75
  - test/test_vlad_unicorn.rb
93
- has_rdoc: true
76
+ - .gemtest
94
77
  homepage: http://bitbucket.org/krbullock/vlad-unicorn/
95
78
  licenses: []
96
79
 
@@ -121,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
104
  requirements: []
122
105
 
123
106
  rubyforge_project: hitsquad
124
- rubygems_version: 1.3.7
107
+ rubygems_version: 1.8.9
125
108
  signing_key:
126
109
  specification_version: 3
127
110
  summary: Unicorn app server support for Vlad