vlad-unicorn 2.2.1 → 2.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gemtest +0 -0
- data/.hgtags +2 -0
- data/History.txt +21 -0
- data/README.txt +12 -0
- data/docs/rails-configuration.txt +16 -23
- data/lib/vlad/unicorn_common.rb +22 -4
- metadata +23 -38
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA512:
|
3
|
+
data.tar.gz: 367c63d4fe4d88eecf4e5bef1e805bd0ba5aaa37b472bc0068c10dfcff8e6d55636debad5e58f30d16e72dfb847be3d874d8f096006cfa5cf4f9ba02239f92a2
|
4
|
+
metadata.gz: 03a7a527d6b060454be27e5d629a5735f379a12a908aec45c56058e346e8583dfad0057525b59f084224816a63d7e8cdd0cefcbb4b9417e9710c50d004dd8a49
|
5
|
+
SHA1:
|
6
|
+
data.tar.gz: 163cd11fb51aa38a671dddf33662cd56a02e8eb9
|
7
|
+
metadata.gz: d3ca64d3f88249e6bcdafe4a9a326712893eecca
|
data/.gemtest
ADDED
File without changes
|
data/.hgtags
CHANGED
@@ -3,3 +3,5 @@ bdc7c2851152cf080888a2c6d5d5bf22fc04f5b2 v2.1.0
|
|
3
3
|
bdc7c2851152cf080888a2c6d5d5bf22fc04f5b2 semver
|
4
4
|
90fa0693a4a0b49241357d1b7b03df6b064a14e9 v2.1.1
|
5
5
|
0fa4ab85e99e8676d791db49fae89f81f164674f v2.2.0
|
6
|
+
4595d1cc44fec363ac3f18434a0e5b3e9679b71d v2.2.1
|
7
|
+
cff28cee81113b40daaa41ff2bf29a8b0a7bc873 v2.3.0
|
data/History.txt
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
=== 2.3.1 / 2013-04-18
|
2
|
+
|
3
|
+
* 1 bug fix
|
4
|
+
|
5
|
+
* Generate the command to start Unicorn correctly.
|
6
|
+
|
7
|
+
=== 2.3.0 / 2013-04-17
|
8
|
+
|
9
|
+
* 3 minor enhancements
|
10
|
+
|
11
|
+
* Pass an environment to Unicorn, default to rails_env (if present) or
|
12
|
+
'production'. (Mathieu Lemoine) (BC)
|
13
|
+
* Create shared/log and shared/pids directories on vlad:setup_app, even for
|
14
|
+
non-Rails apps.
|
15
|
+
* Add an option to trivially enable using `bundle exec`.
|
16
|
+
|
17
|
+
* 2 bug fixes
|
18
|
+
|
19
|
+
* Fix broken shell-quoting of sudo commands
|
20
|
+
* Quote config file path when passing it to unicorn
|
21
|
+
|
1
22
|
=== 2.2.1 / 2013-03-08
|
2
23
|
|
3
24
|
* 1 bug fix
|
data/README.txt
CHANGED
@@ -59,6 +59,18 @@ unicorn_rackup:: The location of the rackup file unicorn should load.
|
|
59
59
|
unicorn_use_sudo:: Whether to use sudo to run the 'unicorn' command on
|
60
60
|
the remote host. Probably necessary if you specify a
|
61
61
|
user and group in unicorn.rb.
|
62
|
+
unicorn_env:: Environment to be given to unicorn (value for +-E+).
|
63
|
+
Default value is based on +vlad/rails+'s +rails_env+.
|
64
|
+
If +rails_env+ is not defined, +production+ is used as
|
65
|
+
default value. To disable passing an environment, set to
|
66
|
+
+nil+.
|
67
|
+
unicorn_use_bundler:: Whether to use <tt>bundle exec</tt> to run the 'unicorn'
|
68
|
+
command on the remote host. Defaults to false.
|
69
|
+
unicorn_bundle_cmd:: How to invoke <tt>bundle exec</tt>. Defaults to
|
70
|
+
<tt>cd #{current_path} && bundle exec</tt>. If you have
|
71
|
+
defined +bundle_cmd+ for Bundler's built-in deployment
|
72
|
+
tasks, vlad-unicorn will use that in place of +bundle+
|
73
|
+
in the above default.
|
62
74
|
|
63
75
|
For more on specific issues when deploying Rails applications, see
|
64
76
|
rails-configuration.txt[link:docs/rails-configuration_txt.html].
|
@@ -1,33 +1,26 @@
|
|
1
1
|
= Configuring Unicorn for Rails
|
2
2
|
|
3
|
-
== Setting environment
|
3
|
+
== Setting the environment
|
4
4
|
|
5
|
-
|
6
|
-
the
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
As of 2.3.0, vlad-unicorn allows you to pass the Rails or Rack environment to
|
6
|
+
the +unicorn+ command (the +--env+ option):
|
7
|
+
|
8
|
+
set :unicorn_env, 'production'
|
9
|
+
|
10
|
+
This can also be done by setting the appropriate environment variable in the
|
11
|
+
unicorn.rb config file, like so:
|
10
12
|
|
11
13
|
ENV['RAILS_ENV'] = 'production'
|
12
14
|
ENV['RAILS_RELATIVE_URL_ROOT'] = '/prefix'
|
13
15
|
|
14
|
-
|
15
|
-
file (config.ru) to map the application to a prefix:
|
16
|
-
|
17
|
-
# This file is used by Rack-based servers to start the application.
|
18
|
-
|
19
|
-
require ::File.expand_path('../config/environment', __FILE__)
|
20
|
-
-run MyApp::Application
|
21
|
-
+app = MyApp::Application
|
22
|
-
+app = Rack::URLMap.new(ENV['RAILS_RELATIVE_URL_ROOT'] => app) if
|
23
|
-
+ ENV['RAILS_RELATIVE_URL_ROOT']
|
24
|
-
+run app
|
16
|
+
== Using with Bundler
|
25
17
|
|
26
|
-
|
18
|
+
When deploying with Bundler, it's often more robust to <code>bundle exec</code>
|
19
|
+
everything. This can be done by setting +unicorn_use_bundler+ to true in your
|
20
|
+
deploy.rb. By default, this will change into the current release directory and
|
21
|
+
run +bundle exec+ there.
|
27
22
|
|
28
|
-
|
29
|
-
|
30
|
-
Since Vlad doesn't change into the +RAILS_ROOT+ directory before attempting to
|
31
|
-
run remote commands, though, you have to explicitly tell it to do so:
|
23
|
+
This can be changed by setting +unicorn_bundle_cmd+. One alternate approach is
|
24
|
+
to pass the full Gemfile path using the BUNDLE_GEMFILE environment variable:
|
32
25
|
|
33
|
-
set :
|
26
|
+
set :unicorn_bundle_cmd, "BUNDLE_GEMFILE=#{current_path}/Gemfile bundle exec"
|
data/lib/vlad/unicorn_common.rb
CHANGED
@@ -2,30 +2,41 @@ require 'vlad'
|
|
2
2
|
|
3
3
|
module Vlad
|
4
4
|
module Unicorn
|
5
|
-
VERSION = '2.
|
5
|
+
VERSION = '2.3.1' #:nodoc:
|
6
6
|
|
7
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
|
-
sudo %(sh -c '#{cmd.gsub(/'/, "'
|
10
|
+
sudo %(sh -c '#{cmd.gsub(/'/, "'\\''")}')
|
11
11
|
else
|
12
12
|
run cmd
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
def self.start_unicorn(opts = '')
|
17
|
+
cmd = %(#{unicorn_command} -D --config-file "#{unicorn_config}")
|
18
|
+
cmd << %( -E "#{unicorn_env}") if unicorn_env
|
19
|
+
cmd << %( #{opts}) if opts and !opts.empty?
|
20
|
+
if unicorn_use_bundler
|
21
|
+
[unicorn_bundle_cmd, cmd].join(' ')
|
22
|
+
else
|
23
|
+
cmd
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
16
27
|
def self.signal(sig = '0')
|
17
28
|
%(test -s "#{unicorn_pid}" && kill -#{sig} `cat "#{unicorn_pid}"`)
|
18
29
|
end
|
19
30
|
|
20
31
|
def self.start(opts = '')
|
21
32
|
cmd = signal('HUP')
|
22
|
-
cmd << %( || (#{
|
33
|
+
cmd << %( || (#{start_unicorn(opts)}))
|
23
34
|
maybe_sudo cmd
|
24
35
|
end
|
25
36
|
|
26
37
|
def self.reload(opts = '')
|
27
38
|
cmd = signal('USR2')
|
28
|
-
cmd << %( || (#{
|
39
|
+
cmd << %( || (#{start_unicorn(opts)}))
|
29
40
|
maybe_sudo cmd
|
30
41
|
end
|
31
42
|
|
@@ -42,6 +53,13 @@ namespace :vlad do
|
|
42
53
|
set(:unicorn_config) { "#{current_path}/config/unicorn.rb" }
|
43
54
|
set :unicorn_use_sudo, false
|
44
55
|
set(:unicorn_pid) { "#{shared_path}/pids/unicorn.pid" }
|
56
|
+
set(:unicorn_env) { Rake::RemoteTask.fetch(:rails_env, 'production') }
|
57
|
+
set(:unicorn_bundle_cmd) {
|
58
|
+
"cd #{current_path} && #{Rake::RemoteTask.fetch(:bundle_cmd, 'bundle')} exec"
|
59
|
+
}
|
60
|
+
set :unicorn_use_bundler, false
|
61
|
+
shared_paths['log'] ||= 'log'
|
62
|
+
shared_paths['pids'] ||= 'tmp/pids'
|
45
63
|
|
46
64
|
desc "Stop the app servers"
|
47
65
|
remote_task :stop_app, :roles => :app do
|
metadata
CHANGED
@@ -1,13 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vlad-unicorn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 2
|
9
|
-
- 1
|
10
|
-
version: 2.2.1
|
4
|
+
version: 2.3.1
|
11
5
|
platform: ruby
|
12
6
|
authors:
|
13
7
|
- Kevin R. Bullock
|
@@ -15,40 +9,38 @@ autorequire:
|
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
11
|
|
18
|
-
date: 2013-
|
19
|
-
default_executable:
|
12
|
+
date: 2013-04-18 00:00:00 Z
|
20
13
|
dependencies:
|
21
14
|
- !ruby/object:Gem::Dependency
|
22
15
|
name: vlad
|
23
16
|
prerelease: false
|
24
17
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
18
|
requirements:
|
27
19
|
- - ~>
|
28
20
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 2
|
32
|
-
- 0
|
33
21
|
version: "2.0"
|
34
22
|
type: :runtime
|
35
23
|
version_requirements: *id001
|
36
24
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
25
|
+
name: rdoc
|
38
26
|
prerelease: false
|
39
27
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
28
|
requirements:
|
42
|
-
- -
|
29
|
+
- - ~>
|
43
30
|
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 2
|
47
|
-
- 8
|
48
|
-
- 0
|
49
|
-
version: 2.8.0
|
31
|
+
version: "4.0"
|
50
32
|
type: :development
|
51
33
|
version_requirements: *id002
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: hoe
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: "3.5"
|
42
|
+
type: :development
|
43
|
+
version_requirements: *id003
|
52
44
|
description: |-
|
53
45
|
Unicorn app server support for Vlad. Adds support for vlad:start_app and
|
54
46
|
vlad:stop_app using Unicorn[http://unicorn.bogomips.org/].
|
@@ -76,10 +68,12 @@ files:
|
|
76
68
|
- lib/vlad/unicorn_common.rb
|
77
69
|
- lib/vlad/unicorn_rails.rb
|
78
70
|
- test/test_vlad_unicorn.rb
|
79
|
-
|
71
|
+
- .gemtest
|
80
72
|
homepage: http://bitbucket.org/krbullock/vlad-unicorn/
|
81
73
|
licenses: []
|
82
74
|
|
75
|
+
metadata: {}
|
76
|
+
|
83
77
|
post_install_message:
|
84
78
|
rdoc_options:
|
85
79
|
- --main
|
@@ -87,29 +81,20 @@ rdoc_options:
|
|
87
81
|
require_paths:
|
88
82
|
- lib
|
89
83
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
84
|
requirements:
|
92
|
-
-
|
85
|
+
- &id004
|
86
|
+
- ">="
|
93
87
|
- !ruby/object:Gem::Version
|
94
|
-
hash: 3
|
95
|
-
segments:
|
96
|
-
- 0
|
97
88
|
version: "0"
|
98
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
90
|
requirements:
|
101
|
-
-
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
hash: 3
|
104
|
-
segments:
|
105
|
-
- 0
|
106
|
-
version: "0"
|
91
|
+
- *id004
|
107
92
|
requirements: []
|
108
93
|
|
109
94
|
rubyforge_project: hitsquad
|
110
|
-
rubygems_version:
|
95
|
+
rubygems_version: 2.0.3
|
111
96
|
signing_key:
|
112
|
-
specification_version:
|
97
|
+
specification_version: 4
|
113
98
|
summary: Unicorn app server support for Vlad
|
114
99
|
test_files:
|
115
100
|
- test/test_vlad_unicorn.rb
|