dlss-capistrano 4.3.0 → 4.4.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
  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