puma-redeploy 0.3.0 → 0.3.2
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 +11 -1
- data/Gemfile +9 -0
- data/README.md +2 -1
- data/lib/puma/redeploy/s3_handler.rb +9 -0
- data/lib/puma/redeploy/version.rb +1 -1
- data/lib/puma/redeploy/zip_deployer.rb +2 -0
- data/puma-redeploy.gemspec +0 -8
- metadata +2 -114
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 438b5a1a33d18652f621427ffcee0dab9a5ed4a867786e3a36300bf573441d0c
|
4
|
+
data.tar.gz: 477f2d13c06ec397c884714756154d23585f97fb5612d2105fb4f700b2c1a9de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00df55137d4a94b9dde2c1b59060fb2a2e3fed0a07f281fe2fc323c878d79a24026ddec962110c42f15372b991b81d10953145948e16102e3eaf260f6348a503
|
7
|
+
data.tar.gz: 457965823bad1a219663774a4ad9dfb16e91993e86a744c768c3eeb90b5b0d2af438d17837c6cf58d216e15b77803e653d4fc6bd6c6c6eb625f56406e8b4c3ef
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -4,3 +4,12 @@ source 'https://rubygems.org'
|
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in puma-redeploy.gemspec
|
6
6
|
gemspec
|
7
|
+
|
8
|
+
gem 'rake', '~> 13.0.6'
|
9
|
+
gem 'rspec', '~> 3.12.0'
|
10
|
+
gem 'rubocop', '~> 1.43'
|
11
|
+
gem 'rubocop-performance', '~> 1.15'
|
12
|
+
gem 'rubocop-rake', '~> 0.6.0'
|
13
|
+
gem 'rubocop-rspec', '~> 2.17'
|
14
|
+
gem 'rubocop-thread_safety', '~> 0.4.4'
|
15
|
+
gem 'timecop', '~> 0.9.6'
|
data/README.md
CHANGED
@@ -16,6 +16,7 @@ Key Points:
|
|
16
16
|
|
17
17
|
Example application can be found [here](https://github.com/tbeauvais/puma-redeploy-test-app)
|
18
18
|
|
19
|
+
Also see the [sidekiq-redeploy](https://github.com/tbeauvais/sidekiq-redeploy) gem.
|
19
20
|
|
20
21
|
## Installation
|
21
22
|
|
@@ -75,7 +76,7 @@ Usage: archive-loader [options]. Used to load the archive prior to starting the
|
|
75
76
|
|
76
77
|
For example this will fetch and unzip the application archive and then start puma.
|
77
78
|
```shell
|
78
|
-
archive-loader /app /app/pkg/watch.me && bundle exec puma -C config/puma.rb
|
79
|
+
archive-loader -a /app -w /app/pkg/watch.me && bundle exec puma -C config/puma.rb
|
79
80
|
```
|
80
81
|
|
81
82
|
## Development
|
@@ -18,6 +18,8 @@ module Puma
|
|
18
18
|
|
19
19
|
def archive_file
|
20
20
|
s3_url = read_watch_object
|
21
|
+
return unless s3_url
|
22
|
+
|
21
23
|
archive_bucket_name, archive_object_key = s3_object_reference(s3_url)
|
22
24
|
|
23
25
|
response = s3_client.get_object(bucket: archive_bucket_name, key: archive_object_key)
|
@@ -26,6 +28,8 @@ module Puma
|
|
26
28
|
# Write the object data to a local file
|
27
29
|
File.binwrite(file_name, response.body.read)
|
28
30
|
file_name
|
31
|
+
rescue StandardError => e
|
32
|
+
logger.warn "Error reading fetching archive file for #{s3_url}. Error:#{e.message}"
|
29
33
|
end
|
30
34
|
|
31
35
|
private
|
@@ -44,6 +48,8 @@ module Puma
|
|
44
48
|
object = s3_client.get_object(bucket: bucket_name, key: object_key)
|
45
49
|
|
46
50
|
object.body.read.strip
|
51
|
+
rescue StandardError => e
|
52
|
+
logger.warn "Error reading url from watch file #{bucket_name}/#{object_key}. Error:#{e.message}"
|
47
53
|
end
|
48
54
|
|
49
55
|
def touched_at
|
@@ -55,6 +61,9 @@ module Puma
|
|
55
61
|
logger.info "The S3 object #{bucket_name}/#{object_key} does not exist"
|
56
62
|
0
|
57
63
|
end
|
64
|
+
rescue StandardError => e
|
65
|
+
logger.warn "Error accessing the S3 object #{bucket_name}/#{object_key}. Error:#{e.message}"
|
66
|
+
0
|
58
67
|
end
|
59
68
|
end
|
60
69
|
end
|
data/puma-redeploy.gemspec
CHANGED
@@ -32,13 +32,5 @@ Gem::Specification.new do |spec|
|
|
32
32
|
|
33
33
|
spec.add_runtime_dependency 'aws-sdk-s3', '~> 1.120.0'
|
34
34
|
|
35
|
-
spec.add_development_dependency 'rake', '~> 13.0.6'
|
36
|
-
spec.add_development_dependency 'rspec', '~> 3.12.0'
|
37
|
-
spec.add_development_dependency 'rubocop', '~> 1.43'
|
38
|
-
spec.add_development_dependency 'rubocop-performance', '~> 1.15'
|
39
|
-
spec.add_development_dependency 'rubocop-rake', '~> 0.6.0'
|
40
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 2.17'
|
41
|
-
spec.add_development_dependency 'rubocop-thread_safety', '~> 0.4.4'
|
42
|
-
spec.add_development_dependency 'timecop', '~> 0.9.6'
|
43
35
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
44
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puma-redeploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tbeauvais
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-s3
|
@@ -24,118 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.120.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 13.0.6
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 13.0.6
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.12.0
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 3.12.0
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubocop
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.43'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.43'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rubocop-performance
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.15'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.15'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop-rake
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 0.6.0
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 0.6.0
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-rspec
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '2.17'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '2.17'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rubocop-thread_safety
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.4.4
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 0.4.4
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: timecop
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 0.9.6
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 0.9.6
|
139
27
|
description: Puma plugin to redeploy and reload app from a remote artifact. This will
|
140
28
|
detect app changes, once detected a new artifact will be pulled and the app will
|
141
29
|
be reloaded.
|