negroku 2.6.0 → 2.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -3
- data/README.md +27 -5
- data/docs/TASKS.md +64 -3
- data/lib/negroku/capistrano/deploy.rb +1 -0
- data/lib/negroku/capistrano/eye/puma.rb +1 -0
- data/lib/negroku/capistrano/tasks/eye/puma.rake +27 -0
- data/lib/negroku/capistrano/tasks/log.rake +45 -9
- data/lib/negroku/capistrano/tasks/puma.rake +93 -0
- data/lib/negroku/capistrano/templates/eye/_puma.erb +19 -0
- data/lib/negroku/capistrano/templates/puma.rb.erb +42 -0
- data/lib/negroku/cli.rb +0 -3
- data/lib/negroku/config.rb +4 -0
- data/lib/negroku/templates/Capfile.erb +2 -0
- data/lib/negroku/version.rb +1 -1
- data/negroku.gemspec +1 -0
- metadata +22 -4
- data/lib/negroku/cli/commands/negroku.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8738821ec803495342cde41c9cb5d3e5fff9047b
|
4
|
+
data.tar.gz: 2e4fb61d9e781ad7d91610c358790dfd65c01e99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ace8c571d9f2b4ee36552cea518dbf238e72bf0b68461bc2006fef26e6bada16583064ae19e405bb11edb0b9ccf76a8fb1048570491e43310fd365c2eddb4c75
|
7
|
+
data.tar.gz: d251e00951daae7c24a600597f8080fdaef8971f575d2998d489c9ba897b5028cc78412a3fe70f16c7daabc7925eed3eb5aa9a32a32a6b11a2610782a4ae6b99
|
data/CHANGELOG.md
CHANGED
@@ -4,7 +4,25 @@ Reverse Chronological Order:
|
|
4
4
|
|
5
5
|
## Unreleased
|
6
6
|
|
7
|
-
https://github.com/platanus/negroku/compare/v2.
|
7
|
+
https://github.com/platanus/negroku/compare/v2.7.0...HEAD
|
8
|
+
|
9
|
+
## `2.7.0`
|
10
|
+
|
11
|
+
https://github.com/platanus/negroku/compare/v2.6.0...v2.7.0
|
12
|
+
|
13
|
+
FEAT:
|
14
|
+
- Adds support for puma as application server
|
15
|
+
- Adds simultaneous log stream support
|
16
|
+
For example you can call
|
17
|
+
`cap production logs` to get all application logs
|
18
|
+
`cap production logs:nginx` to get all nginx logs
|
19
|
+
`cap production logs:nginx:access` to get the nginx access logs only
|
20
|
+
|
21
|
+
FIX:
|
22
|
+
- Show help when no command is used
|
23
|
+
|
24
|
+
BREAKING CHANGES:
|
25
|
+
- Log task was renamed to `logs`
|
8
26
|
|
9
27
|
## `2.6.0`
|
10
28
|
|
@@ -94,7 +112,7 @@ FIX:
|
|
94
112
|
https://github.com/platanus/negroku/compare/v2.4.0...v2.4.1
|
95
113
|
|
96
114
|
FIX:
|
97
|
-
- Fix unicorn restart bug, thanks to @nicolasmery and @amosrivera
|
115
|
+
- Fix unicorn restart bug, thanks to @nicolasmery and @amosrivera
|
98
116
|
|
99
117
|
## `2.4.0`
|
100
118
|
|
@@ -104,7 +122,7 @@ FEATURE
|
|
104
122
|
- Unicorn: adds a way to change cpu and memory eye check for unicorn
|
105
123
|
|
106
124
|
FIXES
|
107
|
-
- Rbenv:
|
125
|
+
- Rbenv:
|
108
126
|
- `rbenv:vars:show` will work even before the firts deploy, close #96
|
109
127
|
- Bulk environmental variables on stage creation, close #99
|
110
128
|
|
data/README.md
CHANGED
@@ -116,6 +116,7 @@ $ bundle install
|
|
116
116
|
|
117
117
|
# App server
|
118
118
|
require 'capistrano3/unicorn'
|
119
|
+
# require 'capistrano/puma'
|
119
120
|
|
120
121
|
# Static server
|
121
122
|
require 'capistrano/nginx'
|
@@ -125,7 +126,7 @@ $ bundle install
|
|
125
126
|
|
126
127
|
1. Common settings for all stages `deploy.rb`
|
127
128
|
|
128
|
-
Here you can add all the settings that are common to all the stage severs. For example:
|
129
|
+
Here you can add all the settings that are common to all the stage severs. For example:
|
129
130
|
|
130
131
|
```ruby
|
131
132
|
set :unicorn_workers, 1
|
@@ -140,7 +141,7 @@ $ bundle install
|
|
140
141
|
```ruby
|
141
142
|
set :branch, "production" # Optional, defaults to master
|
142
143
|
|
143
|
-
set :rails_env, "production"
|
144
|
+
set :rails_env, "production"
|
144
145
|
```
|
145
146
|
|
146
147
|
1. Commit and push the changes to the repository
|
@@ -153,10 +154,31 @@ To deploy your application you just need to run capistrano task to do so.
|
|
153
154
|
$ cap staging deploy # to deploy to the staging stage
|
154
155
|
```
|
155
156
|
|
156
|
-
##
|
157
|
+
## Supports
|
157
158
|
|
158
|
-
|
159
|
-
|
159
|
+
### Web server
|
160
|
+
|
161
|
+
- nginx
|
162
|
+
|
163
|
+
### App servers
|
164
|
+
|
165
|
+
- puma
|
166
|
+
- unicorn
|
167
|
+
|
168
|
+
### Tools
|
169
|
+
|
170
|
+
- bower
|
171
|
+
- bundler
|
172
|
+
- delayed jobs
|
173
|
+
- eye process monitoring
|
174
|
+
- thinking sphinx
|
175
|
+
- [Whenever](docs/TASKS.md#whenever)
|
176
|
+
|
177
|
+
### Other features
|
178
|
+
|
179
|
+
- Github deployment api
|
180
|
+
- [Logs](docs/TASKS.md#logs)
|
181
|
+
- [Rails](docs/TASKS.md#rails)
|
160
182
|
|
161
183
|
## Contributing
|
162
184
|
|
data/docs/TASKS.md
CHANGED
@@ -4,12 +4,13 @@
|
|
4
4
|
* [Remote Console](#remote-console)
|
5
5
|
* [Whenever](#whenever)
|
6
6
|
* [Config](#config)
|
7
|
+
* [Logs](#logs)
|
7
8
|
|
8
|
-
### Rails
|
9
|
+
### Rails
|
9
10
|
|
10
11
|
##### Remote Console
|
11
12
|
|
12
|
-
Negroku adds support to remotelly connect to the rails console integrating de [capistrano-rails-console][1] gem.
|
13
|
+
Negroku adds support to remotelly connect to the rails console integrating de [capistrano-rails-console][1] gem.
|
13
14
|
|
14
15
|
```shell
|
15
16
|
cap <stage> rails:console
|
@@ -18,7 +19,7 @@ cap <stage> rails:console sandbox=1
|
|
18
19
|
|
19
20
|
[1]: https://github.com/ydkn/capistrano-rails-console
|
20
21
|
|
21
|
-
### Whenever
|
22
|
+
### Whenever
|
22
23
|
|
23
24
|
**Note:** By default we are not adding any path to the cron execution PATH. It's up the you to add the needed path to the PATH variable in the cron file.
|
24
25
|
|
@@ -32,3 +33,63 @@ default tempalte is `bash -lc ':job'`
|
|
32
33
|
set :whenever_template, "bash -lc ':job'" #default
|
33
34
|
set :whenever_template, "PATH=./bin:$PATH && bash -lc ':job'" #add location to the path
|
34
35
|
```
|
36
|
+
|
37
|
+
### Logs
|
38
|
+
|
39
|
+
You can stream al the application logs from the server.
|
40
|
+
|
41
|
+
```shell
|
42
|
+
# to get all application logs
|
43
|
+
cap production logs
|
44
|
+
|
45
|
+
# to get all nginx logs
|
46
|
+
cap production logs:nginx
|
47
|
+
|
48
|
+
# to get the nginx access or error logs only
|
49
|
+
cap production logs:nginx:access
|
50
|
+
cap production logs:nginx:error
|
51
|
+
```
|
52
|
+
|
53
|
+
You can pass an argument with the number of line to show in the beginning
|
54
|
+
|
55
|
+
```shell
|
56
|
+
# to get the nginx access logs starting with 1000 lines
|
57
|
+
cap production logs:nginx:access[1000]
|
58
|
+
```
|
59
|
+
|
60
|
+
The build in supported log tasks are
|
61
|
+
|
62
|
+
|
63
|
+
- `logs:nginx:access`
|
64
|
+
- `logs:nginx:error`
|
65
|
+
- `logs:delayed_job:out`
|
66
|
+
- `logs:eye:app`
|
67
|
+
- `logs:puma:error`
|
68
|
+
- `logs:puma:access`
|
69
|
+
- `logs:rails:app`
|
70
|
+
- `logs:sphinx:out`
|
71
|
+
- `logs:sphinx:query`
|
72
|
+
- `logs:unicorn:error`
|
73
|
+
- `logs:unicorn:out`
|
74
|
+
- `logs:whenever:out`
|
75
|
+
|
76
|
+
> The will be loaded based on what module you loaded in your `Capfile`
|
77
|
+
|
78
|
+
#### Custom Logs
|
79
|
+
|
80
|
+
If you have other logs in your applicacion you can add them to the log task
|
81
|
+
using the `define_logs` method in your `deploy.rb` file
|
82
|
+
|
83
|
+
This assume that your logs are in the `shared/logs` folder
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
define_logs(:other_process, {
|
87
|
+
error: 'other_process_error.log',
|
88
|
+
out: 'other_process_out.log'
|
89
|
+
})
|
90
|
+
```
|
91
|
+
|
92
|
+
With that you will have a new `other_process` task
|
93
|
+
|
94
|
+
- `logs:other_process:error`
|
95
|
+
- `logs:other_process:out`
|
@@ -29,6 +29,7 @@ load_task "bundler" if required? 'capistrano/bundler'
|
|
29
29
|
load_task "rails" if required? 'capistrano/rails'
|
30
30
|
load_task "nginx" if required? 'capistrano/nginx'
|
31
31
|
load_task "unicorn" if required? 'capistrano3/unicorn'
|
32
|
+
load_task "puma" if required? 'capistrano/puma'
|
32
33
|
load_task "delayed_job" if required? 'capistrano/delayed-job'
|
33
34
|
load_task "github" if required? 'capistrano/github'
|
34
35
|
load_task "whenever" if required? 'whenever/capistrano'
|
@@ -0,0 +1 @@
|
|
1
|
+
load_task 'eye/puma', ['capistrano/puma']
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#########
|
2
|
+
## Adds support to monitor puma processes through eye
|
3
|
+
#########
|
4
|
+
|
5
|
+
# Watch the puma processes using the build in template
|
6
|
+
namespace :eye do
|
7
|
+
task :watch_process do
|
8
|
+
|
9
|
+
watch_process(:puma);
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
# Override start, restart and stop puma tasks to so they call
|
15
|
+
# the eye equivalents
|
16
|
+
namespace :puma do
|
17
|
+
['start','restart','stop'].each do |cmd|
|
18
|
+
if Rake::Task.task_defined?("puma:#{cmd}")
|
19
|
+
Rake::Task["puma:#{cmd}"].clear_actions
|
20
|
+
# Reload or restart puma after the application is published
|
21
|
+
desc "using eye"
|
22
|
+
task cmd do
|
23
|
+
invoke "eye:#{cmd}", 'puma'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -1,24 +1,60 @@
|
|
1
1
|
## log.rb
|
2
2
|
#
|
3
3
|
# Dynamically adds log task based on log definitions
|
4
|
-
namespace :log do
|
5
4
|
|
6
|
-
|
5
|
+
desc "Show all logs tail"
|
6
|
+
task :logs, :lines do |t, args|
|
7
|
+
on release_roles [:app, :web] do
|
8
|
+
within current_path do
|
9
|
+
paths = fetch(:negroku_logs, {}).values.map(&:values).flatten
|
10
|
+
execute :tail, tail_args(paths, args[:lines])
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
namespace :logs do
|
16
|
+
|
17
|
+
def set_tty
|
18
|
+
old_state = `stty -g`
|
19
|
+
system "stty -echoctl"
|
20
|
+
|
21
|
+
trap("INT") { puts 'Bye!'; system "stty #{old_state}"; exit 0; }
|
22
|
+
end
|
23
|
+
|
24
|
+
def tail_args(paths, lines)
|
25
|
+
set_tty
|
26
|
+
|
27
|
+
args = []
|
28
|
+
p paths
|
29
|
+
paths.each do |path|
|
30
|
+
args << "-f #{Pathname.new(shared_path).join("log", path)}"
|
31
|
+
end
|
32
|
+
|
33
|
+
args << "-n #{lines || 10}"
|
34
|
+
args.join(' ')
|
35
|
+
end
|
36
|
+
|
37
|
+
fetch(:negroku_logs, {}).each do |namespace, logs|
|
38
|
+
|
39
|
+
desc "Show #{namespace} log tail"
|
40
|
+
task namespace, :lines do |t, args|
|
41
|
+
on release_roles [:app, :web] do
|
42
|
+
within current_path do
|
43
|
+
paths = logs.map {|name, path| path}
|
44
|
+
execute :tail, tail_args(paths, args[:lines])
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
7
48
|
|
8
49
|
namespace namespace do
|
9
50
|
|
10
|
-
|
51
|
+
logs.each do |name, path|
|
11
52
|
|
12
53
|
desc "Show #{namespace} #{name} log tail"
|
13
54
|
task name, :lines do |t, args|
|
14
55
|
on release_roles [:app, :web] do
|
15
56
|
within current_path do
|
16
|
-
|
17
|
-
system "stty -echoctl"
|
18
|
-
|
19
|
-
args.with_defaults(:lines => 10)
|
20
|
-
trap("INT") { puts 'Bye!'; system "stty #{old_state}"; exit 0; }
|
21
|
-
execute :tail, '-f', Pathname.new(shared_path).join("log", path), "-n", args[:lines]
|
57
|
+
execute :tail, tail_args([path], args[:lines])
|
22
58
|
end
|
23
59
|
end
|
24
60
|
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
## puma.rb
|
2
|
+
#
|
3
|
+
# Adds puma variables and tasks
|
4
|
+
# Puma main tasks are taken from the gem capistrano3-puma
|
5
|
+
|
6
|
+
# Here we are setting up the main negroku default to work with puma
|
7
|
+
namespace :load do
|
8
|
+
task :defaults do
|
9
|
+
|
10
|
+
###################################
|
11
|
+
## capistrano3/puma variables
|
12
|
+
|
13
|
+
# Defines where the puma config will live.
|
14
|
+
set :puma_conf, -> { "#{shared_path}/config/puma.rb" }
|
15
|
+
|
16
|
+
# Local path to look for custom config template
|
17
|
+
set :puma_template, -> { "config/deploy/#{fetch(:stage)}/puma.rb.erb" }
|
18
|
+
|
19
|
+
# The type of template to use
|
20
|
+
# rails, rails_activerecord
|
21
|
+
set :puma_template_type, -> { "rails_activerecord" }
|
22
|
+
|
23
|
+
|
24
|
+
# Workers timeout in the amount of seconds below, when the master kills it and
|
25
|
+
# forks another one.
|
26
|
+
set :puma_worker_timeout, -> { 30 }
|
27
|
+
|
28
|
+
# The location of the puma socket
|
29
|
+
set :puma_socket, -> { "#{shared_path}/tmp/sockets/puma.sock" }
|
30
|
+
set :puma_bind, -> { "unix://#{fetch(:puma_socket)}" }
|
31
|
+
|
32
|
+
# Preload app for fast worker spawn
|
33
|
+
set :puma_preload, -> { false }
|
34
|
+
|
35
|
+
###################################
|
36
|
+
## capistrano3/nginx variables
|
37
|
+
|
38
|
+
# Set the app server socket if nginx is being used
|
39
|
+
set :app_server_socket, -> { fetch(:puma_socket) } if required? 'capistrano/nginx'
|
40
|
+
|
41
|
+
## Eye monitoring
|
42
|
+
set :puma_master_cpu_checks, "check :cpu, :every => 30, :below => 80, :times => 3"
|
43
|
+
set :puma_master_memory_checks, "check :memory, :every => 30, :below => 150.megabytes, :times => [3,5]"
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Adds some task on complement the capistrano3-puma tasks
|
49
|
+
# This tasks are under the negroku namespace for easier identification
|
50
|
+
namespace :negroku do
|
51
|
+
|
52
|
+
namespace :puma do
|
53
|
+
desc "Upload puma configuration file"
|
54
|
+
task :setup do
|
55
|
+
on release_roles fetch(:puma_roles) do
|
56
|
+
within "#{shared_path}/config" do
|
57
|
+
template_path = fetch(:puma_template)
|
58
|
+
|
59
|
+
# user a build in template if the template doesn't exists in the project
|
60
|
+
unless File.exists?(template_path)
|
61
|
+
template_path = "capistrano/templates/puma.rb.erb"
|
62
|
+
end
|
63
|
+
|
64
|
+
config = build_template(template_path, nil, binding)
|
65
|
+
upload! config, '/tmp/puma.rb'
|
66
|
+
|
67
|
+
execute :mv, '/tmp/puma.rb', 'puma.rb'
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# Reload or restart puma after the application is published
|
73
|
+
after 'deploy:published', 'restart' do
|
74
|
+
invoke 'negroku:puma:setup'
|
75
|
+
invoke 'puma:smart_restart'
|
76
|
+
end
|
77
|
+
|
78
|
+
define_logs(:puma, {
|
79
|
+
error: 'puma_error.log',
|
80
|
+
access: 'puma_access.log'
|
81
|
+
})
|
82
|
+
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# Ensure the folders needed exist
|
87
|
+
task 'deploy:check:directories' do
|
88
|
+
on release_roles fetch(:puma_role) do
|
89
|
+
execute :mkdir, '-pv', "#{shared_path}/config"
|
90
|
+
execute :mkdir, '-pv', "#{shared_path}/tmp/sockets"
|
91
|
+
execute :mkdir, '-pv', "#{shared_path}/tmp/pids"
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
process 'puma' do
|
2
|
+
pid_file "<%= fetch(:puma_pid) %>"
|
3
|
+
start_command "<%= fetch(:rbenv_prefix) %> bundle exec puma -C <%= fetch(:puma_conf) %> --daemon -e <%= fetch(:rails_env) %>"
|
4
|
+
stdall "<%= fetch(:puma_access_log) %>"
|
5
|
+
|
6
|
+
# stop signals:
|
7
|
+
# http://puma.bogomips.org/SIGNALS.html
|
8
|
+
stop_signals [:TERM, 10.seconds]
|
9
|
+
|
10
|
+
# soft restart
|
11
|
+
restart_command "kill -USR2 {PID}"
|
12
|
+
|
13
|
+
# Master process checks
|
14
|
+
<%= fetch(:puma_master_cpu_checks) %>
|
15
|
+
<%= fetch(:puma_master_memory_checks) %>
|
16
|
+
|
17
|
+
start_timeout 100.seconds
|
18
|
+
restart_grace 30.seconds
|
19
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env puma
|
2
|
+
|
3
|
+
directory '<%= current_path %>'
|
4
|
+
rackup "<%=fetch(:puma_rackup)%>"
|
5
|
+
environment '<%= fetch(:puma_env) %>'
|
6
|
+
<% if fetch(:puma_tag) %>
|
7
|
+
tag '<%= fetch(:puma_tag)%>'
|
8
|
+
<% end %>
|
9
|
+
pidfile "<%=fetch(:puma_pid)%>"
|
10
|
+
state_path "<%=fetch(:puma_state)%>"
|
11
|
+
stdout_redirect '<%=fetch(:puma_access_log)%>', '<%=fetch(:puma_error_log)%>', true
|
12
|
+
|
13
|
+
|
14
|
+
threads <%=fetch(:puma_threads).join(',')%>
|
15
|
+
|
16
|
+
<%= puma_bind %>
|
17
|
+
<% if fetch(:puma_control_app) %>
|
18
|
+
activate_control_app "<%= fetch(:puma_default_control_app) %>"
|
19
|
+
<% end %>
|
20
|
+
workers <%= puma_workers %>
|
21
|
+
<% if fetch(:puma_worker_timeout) %>
|
22
|
+
worker_timeout <%= fetch(:puma_worker_timeout).to_i %>
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<% if puma_preload_app? %>
|
26
|
+
preload_app!
|
27
|
+
<% else %>
|
28
|
+
prune_bundler
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
on_restart do
|
32
|
+
puts 'Refreshing Gemfile'
|
33
|
+
ENV["BUNDLE_GEMFILE"] = "<%= fetch(:bundle_gemfile, "#{current_path}/Gemfile") %>"
|
34
|
+
end
|
35
|
+
|
36
|
+
<% if puma_preload_app? and fetch(:puma_init_active_record) %>
|
37
|
+
on_worker_boot do
|
38
|
+
ActiveSupport.on_load(:active_record) do
|
39
|
+
ActiveRecord::Base.establish_connection
|
40
|
+
end
|
41
|
+
end
|
42
|
+
<% end %>
|
data/lib/negroku/cli.rb
CHANGED
data/lib/negroku/config.rb
CHANGED
@@ -53,6 +53,10 @@ class Negroku::ConfigFactory
|
|
53
53
|
name: "unicorn", enabled: loaded_in_bundler('unicorn')
|
54
54
|
}
|
55
55
|
|
56
|
+
attribute :puma, Negroku::Feature, default: {
|
57
|
+
name: "puma", enabled: loaded_in_bundler('puma')
|
58
|
+
}
|
59
|
+
|
56
60
|
attribute :whenever, Negroku::Feature, default: {
|
57
61
|
name: "whenever", enabled: File.exists?('config/schedule.rb')
|
58
62
|
}
|
@@ -26,6 +26,7 @@ require 'capistrano/github'
|
|
26
26
|
|
27
27
|
# App server
|
28
28
|
<%= "#" unless config.unicorn.enabled? %>require 'capistrano3/unicorn'
|
29
|
+
<%= "#" unless config.puma.enabled? %>require 'capistrano/puma'
|
29
30
|
|
30
31
|
# Static server
|
31
32
|
<%= "#" unless config.nginx.enabled? %>require 'capistrano/nginx'
|
@@ -38,6 +39,7 @@ require 'capistrano/github'
|
|
38
39
|
# Eye monitoring
|
39
40
|
require 'negroku/capistrano/eye'
|
40
41
|
<%= "#" unless config.unicorn.enabled? %>require 'negroku/capistrano/eye/unicorn'
|
42
|
+
<%= "#" unless config.puma.enabled? %>require 'negroku/capistrano/eye/puma'
|
41
43
|
<%= "#" unless config.delayed_job.enabled? %>require 'negroku/capistrano/eye/delayed_job'
|
42
44
|
<%= "#" unless config.sphinx.enabled? %>require 'negroku/capistrano/eye/thinking_sphinx'
|
43
45
|
|
data/lib/negroku/version.rb
CHANGED
data/negroku.gemspec
CHANGED
@@ -35,6 +35,7 @@ spec = Gem::Specification.new do |s|
|
|
35
35
|
s.add_runtime_dependency('capistrano-bower', '~> 1.1.0')
|
36
36
|
s.add_runtime_dependency('capistrano3-nginx', '~> 2.1.2')
|
37
37
|
s.add_runtime_dependency('capistrano3-unicorn', '~> 0.2.1')
|
38
|
+
s.add_runtime_dependency('capistrano3-puma', '~> 1.2.1')
|
38
39
|
s.add_runtime_dependency('capistrano3-delayed-job', '~> 1.4.0')
|
39
40
|
s.add_runtime_dependency('whenever', '~> 0.9.4')
|
40
41
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: negroku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Ignacio Donoso
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdoc
|
@@ -248,6 +248,20 @@ dependencies:
|
|
248
248
|
- - ~>
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: 0.2.1
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: capistrano3-puma
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ~>
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 1.2.1
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ~>
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 1.2.1
|
251
265
|
- !ruby/object:Gem::Dependency
|
252
266
|
name: capistrano3-delayed-job
|
253
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -382,6 +396,7 @@ files:
|
|
382
396
|
- lib/negroku/capistrano/deploy.rb
|
383
397
|
- lib/negroku/capistrano/eye.rb
|
384
398
|
- lib/negroku/capistrano/eye/delayed_job.rb
|
399
|
+
- lib/negroku/capistrano/eye/puma.rb
|
385
400
|
- lib/negroku/capistrano/eye/thinking_sphinx.rb
|
386
401
|
- lib/negroku/capistrano/eye/unicorn.rb
|
387
402
|
- lib/negroku/capistrano/formatters/simple.rb
|
@@ -391,12 +406,14 @@ files:
|
|
391
406
|
- lib/negroku/capistrano/tasks/env.rake
|
392
407
|
- lib/negroku/capistrano/tasks/eye.rake
|
393
408
|
- lib/negroku/capistrano/tasks/eye/delayed_job.rake
|
409
|
+
- lib/negroku/capistrano/tasks/eye/puma.rake
|
394
410
|
- lib/negroku/capistrano/tasks/eye/thinking_sphinx.rake
|
395
411
|
- lib/negroku/capistrano/tasks/eye/unicorn.rake
|
396
412
|
- lib/negroku/capistrano/tasks/github.rake
|
397
413
|
- lib/negroku/capistrano/tasks/log.rake
|
398
414
|
- lib/negroku/capistrano/tasks/nginx.rake
|
399
415
|
- lib/negroku/capistrano/tasks/nodenv.rake
|
416
|
+
- lib/negroku/capistrano/tasks/puma.rake
|
400
417
|
- lib/negroku/capistrano/tasks/rails.rake
|
401
418
|
- lib/negroku/capistrano/tasks/rbenv.rake
|
402
419
|
- lib/negroku/capistrano/tasks/thinking_sphinx.rake
|
@@ -404,9 +421,11 @@ files:
|
|
404
421
|
- lib/negroku/capistrano/tasks/whenever.rake
|
405
422
|
- lib/negroku/capistrano/templates/eye/_delayed_job.erb
|
406
423
|
- lib/negroku/capistrano/templates/eye/_process.erb
|
424
|
+
- lib/negroku/capistrano/templates/eye/_puma.erb
|
407
425
|
- lib/negroku/capistrano/templates/eye/_sphinx.erb
|
408
426
|
- lib/negroku/capistrano/templates/eye/_unicorn.erb
|
409
427
|
- lib/negroku/capistrano/templates/eye/application.eye.erb
|
428
|
+
- lib/negroku/capistrano/templates/puma.rb.erb
|
410
429
|
- lib/negroku/capistrano/templates/thinking_sphinx.yml.erb
|
411
430
|
- lib/negroku/capistrano/templates/unicorn_rails.rb.erb
|
412
431
|
- lib/negroku/capistrano/templates/unicorn_rails_activerecord.rb.erb
|
@@ -414,7 +433,6 @@ files:
|
|
414
433
|
- lib/negroku/cli.rb
|
415
434
|
- lib/negroku/cli/commands/app.rb
|
416
435
|
- lib/negroku/cli/commands/env.rb
|
417
|
-
- lib/negroku/cli/commands/negroku.rb
|
418
436
|
- lib/negroku/cli/commands/stage.rb
|
419
437
|
- lib/negroku/config.rb
|
420
438
|
- lib/negroku/helpers.rb
|
@@ -461,7 +479,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
461
479
|
version: '0'
|
462
480
|
requirements: []
|
463
481
|
rubyforge_project:
|
464
|
-
rubygems_version: 2.4.
|
482
|
+
rubygems_version: 2.4.8
|
465
483
|
signing_key:
|
466
484
|
specification_version: 4
|
467
485
|
summary: Capistrano recipes collection
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Negroku::CLI
|
2
|
-
|
3
|
-
# This is the default negroku command
|
4
|
-
# Here we'll manage the main interative cli ui
|
5
|
-
command :negroku do |c|
|
6
|
-
|
7
|
-
c.default_command :ask
|
8
|
-
c.command :ask do |s|
|
9
|
-
s.action do |global_options,options,args|
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|