capistrano-base_helper 0.0.6 → 0.0.7
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/README.md +33 -2
- data/VERSION +1 -1
- data/capistrano-base_helper.gemspec +2 -2
- data/lib/capistrano/base_helper/monit_base.rb +3 -3
- data/templates/runit/finish.erb +2 -2
- data/templates/runit/run.erb +9 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -23,7 +23,7 @@ _Note: The tasks will not work unless you have installed any monit services_
|
|
23
23
|
|
24
24
|
All these tasks do monit tasks for all services setup with monit.
|
25
25
|
|
26
|
-
```
|
26
|
+
```
|
27
27
|
cap monit:disable # Disable monit services for application
|
28
28
|
cap monit:enable # Enable monit services for application
|
29
29
|
cap monit:main_config # Setup main monit config file (/etc/monit/monitrc)
|
@@ -37,11 +37,31 @@ cap monit:status # Status monit (global)
|
|
37
37
|
cap monit:stop # Stop monitoring the application permanent (Monit saves state)
|
38
38
|
```
|
39
39
|
|
40
|
+
#### Setup in your deploy file
|
41
|
+
|
42
|
+
You can add this to deploy.rb or env.rb in order to automatically monitor/unmonitor tasks
|
43
|
+
|
44
|
+
It is important to unmonitor tasks while deploying as they can trigger stops/restarts to the app that monit thinks are "crashes"
|
45
|
+
|
46
|
+
_Note: This is already done in monit\_base.rb, so no additional setup in deploy.rb or env.rb required_
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
before "deploy", "monit:unmonitor"
|
50
|
+
after "deploy", "monit:monitor"
|
51
|
+
```
|
52
|
+
|
53
|
+
If you want monit to automatically start/stop runit instead of triggering seperately
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
before "monit:unmonitor", "monit:stop"
|
57
|
+
after "monit:monitor", "monit:start"
|
58
|
+
```
|
59
|
+
|
40
60
|
### Runit
|
41
61
|
|
42
62
|
All these tasks do runit tasks for all services setup with runit.
|
43
63
|
|
44
|
-
```
|
64
|
+
```
|
45
65
|
cap runit:disable # Disable runit services for application
|
46
66
|
cap runit:enable # Enable runit services for application
|
47
67
|
cap runit:once # Only start services once.
|
@@ -51,6 +71,17 @@ cap runit:start # Start all runit services for current applicati
|
|
51
71
|
cap runit:stop # Stop all runit services for current application
|
52
72
|
```
|
53
73
|
|
74
|
+
#### Setup in your deploy file
|
75
|
+
|
76
|
+
You can add this to deploy.rb or env.rb in order to automatically start/stop tasks
|
77
|
+
|
78
|
+
```ruby
|
79
|
+
before "deploy", "runit:stop"
|
80
|
+
after "deploy", "runit:start"
|
81
|
+
```
|
82
|
+
|
83
|
+
See each gem if you want to start/stop each service separate instead of together.
|
84
|
+
|
54
85
|
## Assumptions
|
55
86
|
|
56
87
|
There are some assumptions when using this with capistrano.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.7
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "capistrano-base_helper"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Leif Ringstad"]
|
12
|
-
s.date = "2013-07-
|
12
|
+
s.date = "2013-07-29"
|
13
13
|
s.description = "Helpers for capistrano recipes using runit/monit. Currently: capistrano-puma and capistrano-delayed_job"
|
14
14
|
s.email = "leifcr@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -42,9 +42,9 @@ Capistrano::Configuration.instance(true).load do
|
|
42
42
|
after "monit:setup", "monit:enable"
|
43
43
|
after "monit:enable", "monit:reload"
|
44
44
|
|
45
|
-
# must trigger monitor
|
45
|
+
# must trigger monitor after deploy
|
46
46
|
after "deploy", "monit:monitor"
|
47
|
-
# must trigger unmonitor
|
47
|
+
# must trigger unmonitor before deploy
|
48
48
|
before "deploy", "monit:unmonitor"
|
49
49
|
|
50
50
|
before "monit:disable", "monit:unmonitor"
|
@@ -81,7 +81,7 @@ Capistrano::Configuration.instance(true).load do
|
|
81
81
|
# restart monit, as main config is now updated
|
82
82
|
run "#{sudo} service monit restart"
|
83
83
|
puts "----------------------------------------"
|
84
|
-
puts "Sleeping for #{
|
84
|
+
puts "Sleeping for #{fetch(:monit_start_delay).to_i + 10)} seconds to wait for monit to be ready"
|
85
85
|
puts "----------------------------------------"
|
86
86
|
sleep (fetch(:monit_start_delay).to_i + 2)
|
87
87
|
end
|
data/templates/runit/finish.erb
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
echo "Stopping all services for <%= c.fetch(:application) %> running as <%= c.fetch(:user) %>"
|
8
8
|
|
9
9
|
# Force all services to stop
|
10
|
-
sv -w600 force-stop
|
10
|
+
sv -w600 force-stop <%= c.fetch(:runit_dir) %>/*
|
11
11
|
|
12
12
|
# "Exit" all services
|
13
|
-
sv exit
|
13
|
+
sv exit <%= c.fetch(:runit_dir) %>/*
|
data/templates/runit/run.erb
CHANGED
@@ -2,5 +2,13 @@
|
|
2
2
|
# <% c = Capistrano::BaseHelper::get_capistrano_instance %>
|
3
3
|
# Run services for <%= c.fetch(:application) %> as <%= c.fetch(:user) %> in env <%= Capistrano::BaseHelper.environment %>
|
4
4
|
#
|
5
|
-
|
5
|
+
|
6
|
+
# Redirect stderr so everything ends up in the log file
|
7
|
+
exec 2>&1
|
8
|
+
|
9
|
+
# Announce startup
|
10
|
+
#
|
11
|
+
echo "Starting all services for <%= c.fetch(:application) %> running as <%= c.fetch(:user) %>"
|
12
|
+
|
13
|
+
# Start all services in folder <%= c.fetch(:runit_dir) %>
|
6
14
|
exec chpst -u <%= c.fetch(:user) %> runsvdir "<%= c.fetch(:runit_dir) %>"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-base_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-07-
|
12
|
+
date: 2013-07-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
@@ -99,7 +99,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
99
|
version: '0'
|
100
100
|
segments:
|
101
101
|
- 0
|
102
|
-
hash:
|
102
|
+
hash: 3304826460133394089
|
103
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
104
|
none: false
|
105
105
|
requirements:
|