popito 0.0.3.alpha → 0.0.4.alpha

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: cd7717c2f4c52904d7c0aa5405e5a8da53b48050e540a3a5609cb7dcfabc7c7a
4
- data.tar.gz: 52c9f6590e26db96ac09eff3d750df1576f2712ad14987de0c71c9a3db56b2ed
3
+ metadata.gz: 54bafeba7b6374adfb205c90127fd7f242fdb44e773071d3a98640dc2eea8d67
4
+ data.tar.gz: 36153ff1ade6486382c933c983acd8df5f6ef12ceeb175610070cb650fea134b
5
5
  SHA512:
6
- metadata.gz: a7fea9b996e81c47a8f0d3fa28d0673745b9824c5d922e243007eb93065546f7e040f3ec5143a036ae4e42d5942fb8e0f68923d9fdf9dbfbca0308f3912aee6d
7
- data.tar.gz: 4bef414b14c32869ee6ad1ac94ab09b835422f6054a6d291de3cafd94f5102712e198332fec66c9685fc4d628f55c33f94726d83c419875ed20464473052cf05
6
+ metadata.gz: c926366fbae27378623274a9d6f28a8c769c9dbeddc2fe11fce9ff095f0cb0bc2236aced45ef597cbfde7a9b6209161d25cd5dd8f126bd2708531651d79d62f6
7
+ data.tar.gz: 1ef977a728676570910a8fcd6cf48c93bba4fe025f74e40da863a12958bdbe42ba3543fcdf477a6da2aaf2d1b3a63f7a69f6c39123330e98b50d53d870f16e45
data/exe/popito CHANGED
@@ -30,7 +30,7 @@ stages.push('deploy') if params[:deploy]
30
30
  build_config = JSON.parse(params[:"build-config-json"] || "{}").merge(
31
31
  {
32
32
  IMAGE_TAG: params[:tag],
33
- IMAGE_TAG_ALT: params[:tag_alt],
33
+ IMAGE_TAG_ALT: params[:"tag-alt"],
34
34
  ENVIRONMENT: params[:env]
35
35
  }
36
36
  )
@@ -15,29 +15,25 @@ module Popito
15
15
 
16
16
  def build
17
17
  yaml_config["build"].each do |build|
18
- build["tags"].each do |tag|
19
- builder = Popito::BuildExecutor::Builders::Docker.new(
20
- root_path: config_payload.project_path,
21
- dockerfile: "#{config_payload.build_path}/#{build['dockerfile']}",
22
- image: build["image"],
23
- tag: tag
24
- )
25
- builder.build
26
- end
18
+ builder = Popito::BuildExecutor::Builders::Docker.new(
19
+ root_path: config_payload.project_path,
20
+ dockerfile: "#{config_payload.build_path}/#{build['dockerfile']}",
21
+ image: build["image"],
22
+ tags: build["tags"]
23
+ )
24
+ builder.build
27
25
  end
28
26
  end
29
27
 
30
28
  def release
31
29
  yaml_config["build"].each do |build|
32
- build["tags"].each do |tag|
33
- builder = Popito::BuildExecutor::Builders::Docker.new(
34
- root_path: config_payload.project_path,
35
- dockerfile: "#{config_payload.build_path}/#{build['dockerfile']}",
36
- image: build["image"],
37
- tag: tag
38
- )
39
- builder.push
40
- end
30
+ builder = Popito::BuildExecutor::Builders::Docker.new(
31
+ root_path: config_payload.project_path,
32
+ dockerfile: "#{config_payload.build_path}/#{build['dockerfile']}",
33
+ image: build["image"],
34
+ tags: build["tags"]
35
+ )
36
+ builder.push
41
37
  end
42
38
  end
43
39
 
@@ -3,12 +3,12 @@ module Popito
3
3
  class BuildExecutor
4
4
  module Builders
5
5
  class Docker
6
- attr_accessor :dockerfile, :image, :tag, :root_path
6
+ attr_accessor :dockerfile, :image, :tags, :root_path
7
7
 
8
- def initialize(root_path:, dockerfile:, image:, tag:)
8
+ def initialize(root_path:, dockerfile:, image:, tags:)
9
9
  self.dockerfile = dockerfile
10
10
  self.image = image
11
- self.tag = tag
11
+ self.tags = tags
12
12
  self.root_path = root_path
13
13
  end
14
14
 
@@ -16,7 +16,7 @@ module Popito
16
16
  puts "Building ..."
17
17
  puts "Dockerfile: #{dockerfile}"
18
18
  puts "Image: #{image}"
19
- puts "Tag: #{tag}"
19
+ puts "Tags: #{tags}"
20
20
  Dir.chdir(root_path)
21
21
  docker_build
22
22
  end
@@ -25,24 +25,27 @@ module Popito
25
25
  puts "Pushing ..."
26
26
  puts "Dockerfile: #{dockerfile}"
27
27
  puts "Image: #{image}"
28
- puts "Tag: #{tag}"
28
+ puts "Tags: #{tags}"
29
29
  docker_push
30
30
  end
31
31
 
32
32
  private
33
33
 
34
34
  def docker_push
35
- puts "#{self.class.name}: docker push #{image_full_name}"
36
- system "docker push #{image_full_name}", exception: true
35
+ tags.each do |tag|
36
+ puts "#{self.class.name}: docker push #{image}:#{tag}"
37
+ system "docker push #{image}:#{tag}, exception: true"
38
+ end
37
39
  end
38
40
 
39
41
  def docker_build
40
- puts "#{self.class.name}: docker build #{image_full_name}"
41
- system "docker build -f #{dockerfile} --tag #{image_full_name} .", exception: true
42
- end
43
-
44
- def image_full_name
45
- "#{image}:#{tag}"
42
+ command = "docker build -f #{dockerfile}"
43
+ tags.each do |tag|
44
+ command << " --tag #{image}:#{tag}"
45
+ end
46
+ command << " ."
47
+ puts "#{self.class.name}: #{command}"
48
+ system command, exception: true
46
49
  end
47
50
  end
48
51
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Popito
4
- VERSION = "0.0.3.alpha"
4
+ VERSION = "0.0.4.alpha"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: popito
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.alpha
4
+ version: 0.0.4.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wagner Caixeta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-19 00:00:00.000000000 Z
11
+ date: 2022-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deep_merge
@@ -102,7 +102,6 @@ executables:
102
102
  extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
- - ".byebug_history"
106
105
  - ".gitignore"
107
106
  - ".gitlab-ci.yml"
108
107
  - ".rubocop.yml"
@@ -145,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
144
  - !ruby/object:Gem::Version
146
145
  version: 1.3.1
147
146
  requirements: []
148
- rubygems_version: 3.1.4
147
+ rubygems_version: 3.0.3.1
149
148
  signing_key:
150
149
  specification_version: 4
151
150
  summary: 'WIP: Build docker images for Rails Projects and deploy it on K8S using a
data/.byebug_history DELETED
@@ -1,256 +0,0 @@
1
- q
2
- build_config
3
- q
4
- build_config
5
- q
6
- build_config = JSON.parse(params[:"build-config-json"] || "{}").merge(
7
- {
8
- IMAGE_TAG: params[:tag],
9
- IMAGE_TAG_ALT: params[:tag_alt],
10
- ENVIRONMENT: params[:env]
11
- }
12
- )
13
- params[:"build-config-json"]
14
- params
15
- params[:build_config_json]
16
- params[:build_config]params[:build_config_json]
17
- q
18
- build_config
19
- config_payload
20
- c
21
- build_config
22
- q
23
- params
24
- q
25
- params
26
- q
27
- params
28
- q
29
- params
30
- q
31
- params[:token]
32
- params
33
- q
34
- params
35
- c
36
- JSON.parse(err.response.body)["message"]
37
- err
38
- q
39
- err
40
- q
41
- n
42
- y
43
- q
44
- err.response.body
45
- err
46
- q
47
- puts caller()
48
- caller()
49
- call()
50
- call
51
- err
52
- err.class
53
- err
54
- err.response
55
- JSON.parse(err.response.body)
56
- JSON.parse(err.response.body)["message"]
57
- err
58
- c
59
- JSON.parse(response.body).class
60
- JSON.parse(response.body)
61
- response.body
62
- n
63
- q
64
- default_headers
65
- q
66
- headers
67
- q
68
- config_payload
69
- continue
70
- x["build"][0]["dockerfile"]
71
- x["build"][0]["targets"]
72
- x["build"][0]
73
- x["build"]
74
- x=YAML.load(File.read("#{config_payload.build_path}/build.yaml"))
75
- x["build"]
76
- x=YAML.load(File.read("#{config_payload.build_path}/build.yaml")).class
77
- x
78
- x["build"]
79
- x=YAML.load(File.read("#{config_payload.build_path}/build.yaml")).class
80
- x[0]
81
- x=YAML.load(File.read("#{config_payload.build_path}/build.yaml")).class
82
- YAML.load(File.read("#{config_payload.build_path}/build.yaml")).class
83
- YAML.load(File.read("#{config_payload.build_path}/build.yaml"))
84
- q
85
- YAML.load(File.read("#{config_payload.project_path}/build.yaml"))
86
- c
87
- continue
88
- z.read
89
- x.read
90
- z = Zlib::GzipReader.new(StringIO.new(body))
91
- body
92
- z = Zlib::GzipReader.new(body)
93
- z = Zlib::GzipReader.new(body)
94
- unzipped = StringIO.new(z.read)
95
- body
96
- c
97
- q
98
- body
99
- c
100
- q
101
- body.size
102
- body
103
- c
104
- q
105
- JSON.parse(err.response.body)["code"]
106
- JSON.parse(err.response.body)
107
- JSON.parse(err.response.body)["codigo"]
108
- JSON.parse(err.response.body)["codigo"] + ""
109
- JSON.parse(err.response.body)["code"] + ""
110
- JSON.parse(err.response.body)["message"]
111
- TypeError.kind_of?(RuntimeError)
112
- JSON.parse('{}')
113
- JSON.parse({})
114
- JSON.parse("")
115
- JSON.parse(nil)
116
- JSON.parse(err.response.body)["message"]
117
- JSON.parse(err.response.body)
118
- ::JSON.parse(err.response.body)
119
- require 'json'
120
- ::JSON.parse(err.response.body)
121
- JSON.parse(err.response.body)
122
- JSON(err.response.body)
123
- err.response.body
124
- err.response
125
- c
126
- q
127
- response
128
- c
129
- q
130
- ARGV[0]
131
- ARGV[1]
132
- continue
133
- y
134
- q
135
- config_payload.project_path
136
- File.expand_path(config_payload.project_path)
137
- q
138
- config_payload.project_path
139
- config_payload
140
- q
141
- c
142
- q
143
- current_scope&.config.nil?
144
- context
145
- current_scope
146
- q
147
- default
148
- context.config
149
- context
150
- current_scope
151
- c
152
- q
153
- config_payload.get_value(key: 'RAILS_RUN_MIGRATES', default: 'false')
154
- q
155
- config_payload.get_value(key: 'ENVIRONMENT')
156
- config_payload.get_value(key: :ENVIRONMENT)
157
- config_payload.get_value(:ENVIRONMENTconfig_payload.get_value(key: :ENVIRONMENT))
158
- config_payload.get_value(:ENVIRONMENT)
159
- q
160
- container[:env]
161
- c
162
- container[:env]
163
- c
164
- container[:env]
165
- c
166
- container[:env]
167
- c
168
- container[:env]
169
- c
170
- container[:env]
171
- c
172
- container[:env]
173
- c
174
- container[:env]
175
- q
176
- continue
177
- q
178
- container[:env]
179
- c
180
- container[:env]
181
- byebug
182
- q
183
- container[:env]
184
- c
185
- container[:env]
186
- c
187
- container[:env]
188
- c
189
- container[:env]
190
- q
191
- continue
192
- config_payload.context.config.ENV
193
- config_payload.context.config.env
194
- config_payload.context.config
195
- container[:env][0]config_payload.context.config
196
- container[:env]
197
- c
198
- container[:env]
199
- c
200
- container[:env]
201
- c
202
- container[:env]
203
- container[:name]
204
- container
205
- config_payload.current_scope.config
206
- q
207
- config_payload.current_scope.config
208
- config_payload.current_scope.name
209
- config_payload.current_scope
210
- c
211
- config_payload.current_scope.config
212
- c
213
- config_payload.current_scope.config
214
- c
215
- config_payload.current_scope.config
216
- c
217
- config_payload.current_scope.config
218
- c
219
- config_payload.current_scope.config
220
- c
221
- config_payload.current_scope.config
222
- c
223
- config_payload.current_scope.config
224
- c
225
- config_payload.current_scope.config
226
- c
227
- config_payload.current_scope.config
228
- q
229
- config_payload.current_scope.config
230
- current_context
231
- current_scope
232
- config_payload
233
- container
234
- container["type"]
235
- container[:type]
236
- c
237
- container[:type]
238
- container["config"]
239
- c
240
- container["config"]
241
- c
242
- container["config"]
243
- c
244
- container["config"]
245
- c
246
- container["config"]
247
- c
248
- container["config"]
249
- q
250
- container["config"]
251
- c
252
- container["config"]
253
- c
254
- container["config"]
255
- c
256
- container["config"]