dlss-capistrano 4.3.0 → 4.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00db87621456c124d5e2cd1dccd996e627454bb6a3f04b76e143bb51eed21535
4
- data.tar.gz: eae62e6b898231ec115a04ef9b4a2b2170c8d199f595f6350e97fa99b0e1f991
3
+ metadata.gz: b6c18a333622bff0545dcea50dce10b384d8d230f60077d65b994df2fb03df6e
4
+ data.tar.gz: c16f14ba45ac6b9a268dddd3acc2bfafb1c0c9e0c5b0fd780070985a4987697a
5
5
  SHA512:
6
- metadata.gz: 5771533152ee312a8bb47034caf24ef6e9eef16801f9b7ee88764c7a93f5a5466728076024132101a2162fdc2e09f4e977417e9696bbf49e93182c5129e09294
7
- data.tar.gz: 9c00528f43aae7b8b19d1eab7ee4586889a58f65c5c1e8f89401e3a1b68198faefcaa4a3eb1002f452583768ce119b59f529e402dcb33ced5c2ec9a4b0e5590b
6
+ metadata.gz: 502ff3bddaefb44315881d156bc3cd31b0f7eaa4d74c94ccf53bf5f536d7debdde463572d42d3916bc38ce955af90955e09b5f014ca1d6b5d2adc4831041f15c
7
+ data.tar.gz: 04bcae94a937c4a81bad89f6e601cea1eb963be8dee55ea2454bc6cc9991a6a529929fb328b5aeff8222b2632b0614cc593617227c12038fef894a3dddc09aef
data/README.md CHANGED
@@ -94,6 +94,11 @@ These tasks are intended to replace those provided by `capistrano-sidekiq` gem,
94
94
 
95
95
  `cap ENV sneakers_systemd:{stop,start,restart}`: stops, starts, restarts Sneakers via systemd.
96
96
 
97
+ ### Racecar via systemd
98
+
99
+ `cap ENV racecar_systemd:{stop,start,restart}`: stops, starts, restarts Racecar via systemd.
100
+
101
+
97
102
 
98
103
  #### Capistrano role
99
104
 
@@ -4,7 +4,7 @@ $:.unshift lib unless $:.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "dlss-capistrano"
7
- s.version = '4.3.0'
7
+ s.version = '4.4.0'
8
8
 
9
9
  s.platform = Gem::Platform::RUBY
10
10
  s.authors = ["Chris Beer", 'Mike Giarlo']
@@ -0,0 +1,44 @@
1
+ # Capistrano plugin hook to set default values
2
+ namespace :load do
3
+ task :defaults do
4
+ set :racecar_systemd_role, fetch(:racecar_systemd_role, :app)
5
+ set :racecar_systemd_use_hooks, fetch(:racecar_systemd_use_hooks, false)
6
+ end
7
+ end
8
+
9
+ # Integrate racecar hooks into Capistrano
10
+ namespace :deploy do
11
+ before :starting, :add_racecar_systemd_hooks do
12
+ invoke 'racecar_systemd:add_hooks' if fetch(:racecar_systemd_use_hooks)
13
+ end
14
+ end
15
+
16
+ namespace :racecar_systemd do
17
+ # NOTE: no `desc` here to avoid publishing this task in the `cap -T` list
18
+ task :add_hooks do
19
+ after 'deploy:failed', 'racecar_systemd:restart'
20
+ after 'deploy:published', 'racecar_systemd:start'
21
+ after 'deploy:starting', 'racecar_systemd:stop'
22
+ end
23
+
24
+ desc 'Stop running workers gracefully'
25
+ task :stop do
26
+ on roles(fetch(:racecar_systemd_role)) do
27
+ sudo :systemctl, 'stop', 'racecar'
28
+ end
29
+ end
30
+
31
+ desc 'Start workers'
32
+ task :start do
33
+ on roles(fetch(:racecar_systemd_role)) do
34
+ sudo :systemctl, 'start', 'racecar'
35
+ end
36
+ end
37
+
38
+ desc 'Restart workers'
39
+ task :restart do
40
+ on roles(fetch(:racecar_systemd_role)) do
41
+ sudo :systemctl, 'restart', 'racecar', raise_on_non_zero_exit: false
42
+ end
43
+ end
44
+ end
@@ -1,18 +1,22 @@
1
- desc "ssh to the current directory on the server"
1
+ desc "update the strscan default gem"
2
2
  task :update_global_strscan do
3
3
  on roles(:app) do |host|
4
4
  strscan_version = within release_path do
5
5
  capture(:bundle, 'exec', 'ruby', '-e', '"puts Gem::Specification.find_by_name(\'strscan\').version"', ' || true')
6
6
  end
7
7
 
8
- if strscan_version.empty?
9
- warn 'strscan is not installed'
10
- else
11
- execute "gem install strscan --silent --no-document -v #{strscan_version}"
8
+ next warn 'strscan is not installed' if strscan_version.empty?
9
+
10
+ begin
11
+ Gem::Version.new(strscan_version)
12
+ rescue ArgumentError
13
+ next warn "skipping, could not install strscan due to an unrelated error: #{strscan_version}"
12
14
  end
15
+
16
+ execute "gem install strscan --silent --no-document -v #{strscan_version}"
13
17
  end
14
18
  end
15
19
 
16
- if Rake::Task.task_defined? :'passenger:restart'
20
+ if Rake::Task.task_defined?(:'passenger:restart')
17
21
  before :'passenger:restart', :update_global_strscan unless ENV['SKIP_UPDATE_STRSCAN']
18
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dlss-capistrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-06-29 00:00:00.000000000 Z
12
+ date: 2023-03-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
@@ -90,6 +90,7 @@ files:
90
90
  - lib/dlss/capistrano/tasks/bundled_sidekiq.rake
91
91
  - lib/dlss/capistrano/tasks/check_status.rake
92
92
  - lib/dlss/capistrano/tasks/deployed_branch.rake
93
+ - lib/dlss/capistrano/tasks/racecar_systemd.rake
93
94
  - lib/dlss/capistrano/tasks/remote_execute.rake
94
95
  - lib/dlss/capistrano/tasks/sidekiq_systemd.rake
95
96
  - lib/dlss/capistrano/tasks/sneakers_systemd.rake
@@ -116,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
117
  - !ruby/object:Gem::Version
117
118
  version: 1.3.6
118
119
  requirements: []
119
- rubygems_version: 3.3.7
120
+ rubygems_version: 3.3.26
120
121
  signing_key:
121
122
  specification_version: 4
122
123
  summary: Capistrano recipes for use in SUL/DLSS projects