elocal_capistrano 2.2.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d6a698114edec5f34637ade326d22fd5bc90882
4
- data.tar.gz: 541aeef5b5ff93f27a728ef93a4d0f168a78fc64
3
+ metadata.gz: d049888888e5e20daa8fd8159b8f00c8c2b9cb12
4
+ data.tar.gz: a716977fe24f9b5819d961f1d94f84c359eac942
5
5
  SHA512:
6
- metadata.gz: 0ee6d74c3028acb5a179f15558d0e08ad443c8b4ed39b43e7f16cdc6e9a19502f0cfb7c706bda17c34cb9c2fa4162e178782df94e44cb01a9805a1db290cb8f4
7
- data.tar.gz: 24d4498d834fe938f9f0c1eeb1eaca15570baec8f4386faa71238d94bf62f12183f73ed30d8f9495fae1766dbb28e76376c8966a9c5d555900b9953a10a81076
6
+ metadata.gz: 48cee9018bcaa0819d6cd9115b9c9c61139e718f109bc5dfa0282e067abcc7e0d09479b6a088f053c8b368a7c53518bb93d02beedd679a1955fc4889c91199ae
7
+ data.tar.gz: 1ac435945e764db8a5fe3d9eba6253096ec1c06c8ed3d9ba97d416ac44df47b4e44486426f9e25545e029991265f8855ac4db95b798e656787d9272b7346d331
@@ -1,3 +1,3 @@
1
1
  module ElocalCapistrano
2
- VERSION = '2.2.1'
2
+ VERSION = '2.3.0'
3
3
  end
@@ -0,0 +1,65 @@
1
+ namespace :load do
2
+ task :defaults do
3
+ set :puma_application_name, -> { "#{fetch(:application)}_puma" }
4
+ set :delayed_job_application_name, -> { "#{fetch(:application)}_delayed_job" }
5
+ set :shoryuken_application_name, -> { "#{fetch(:application)}_shoryuken" }
6
+ end
7
+ end
8
+
9
+ namespace :service do
10
+ namespace :puma do
11
+ %w(reload start stop status).each do |t|
12
+ desc "Perform #{t} of the puma service"
13
+ task t do
14
+ on release_roles :app do
15
+ Array(fetch(:puma_application_name)).each do |app_name|
16
+ sudo :service, app_name, t
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ desc 'Perform a restart of the application puma service'
23
+ task :restart do
24
+ on release_roles :app do
25
+ Array(fetch(:puma_application_name)).each do |app_name|
26
+ execute <<-CMD.strip
27
+ pid=`systemctl show -p MainPID #{app_name}.service | grep -o -E '[0-9]+'`; if [ "$pid" -eq "0" ] || [ -z $pid ]; then sudo service #{app_name} start; else sudo service #{app_name} reload; fi
28
+ CMD
29
+ end
30
+ end
31
+ end
32
+
33
+ desc 'Perform a start/stop not a reload of the application puma service'
34
+ task :hard_restart do
35
+ on release_roles :app do
36
+ Array(fetch(:puma_application_name)).each do |app_name|
37
+ sudo :service, app_name, :restart
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ %i(delayed_job shoryuken).each do |task_name|
44
+ namespace task_name do
45
+ %w(start stop status).each do |t|
46
+ desc "Perform #{t} of the #{task_name} service"
47
+ task t do
48
+ on release_roles :app do
49
+ sudo :service, fetch(:"#{task_name}_application_name"), t
50
+ end
51
+ end
52
+ end
53
+
54
+ desc 'Perform a restart of the application #{task_name} service'
55
+ task :restart do
56
+ on release_roles :app do
57
+ job_name = fetch(:"#{task_name}_application_name")
58
+ execute <<-CMD.strip
59
+ pid=`systemctl show -p MainPID #{job_name} | grep -o -E '[0-9]+'`; if [ "$pid" -eq "0" ] || [ -z $pid ]; then sudo service #{job_name} start; else sudo service #{job_name} restart; fi
60
+ CMD
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elocal_capistrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Di Marco
@@ -59,6 +59,7 @@ files:
59
59
  - lib/tasks/deploy.rake
60
60
  - lib/tasks/git_tagging.rake
61
61
  - lib/tasks/maintenance.rake
62
+ - lib/tasks/services.rake
62
63
  - lib/tasks/ssh.rake
63
64
  - lib/tasks/syslog.rake
64
65
  - lib/tasks/upstart.rake