aggkit 0.3.1 → 0.3.1.8768

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
- SHA256:
3
- metadata.gz: 5c5d74cf5c3b2d34c4fe13139a82a3f66c6562e43862b7d12992ab4c67432a48
4
- data.tar.gz: 82a51fb25f4135e22cb84be37b68f58b769da99bb6254c1105d263558493f281
2
+ SHA1:
3
+ metadata.gz: da7e110db65fee090004aa89ebe7b9e51d61b29d
4
+ data.tar.gz: a23634dedbc61ead7fdf2fd82db903d54a9db349
5
5
  SHA512:
6
- metadata.gz: 5c96a34e819db1576ba80d7472d9ca6fe5161df5f0fe49819d95e0864db6f7c14e861e1172f6ebc236c568141ddd64d9a1238844b52a8ff94ac62ba0733349a2
7
- data.tar.gz: f4e7a4ac7dbc5139e317383da001369f2eeed862ca7b3b6cf05048fffe8b854ff941d8728f6499e487a43a1d91f14137f2d553c06b1bddde01a28c95c6106039
6
+ metadata.gz: fc6a2f04341e21addd3188c4902802edf68c25740c55e6986f4c2fd8005e54b2c8bf1bd34aa6404d6c3a5d458810f0e6a4e1c87f040c001d9fcd572a12ee4ff7
7
+ data.tar.gz: 5cd039ed3153e03b5f1c8eec26d3058df0d28128a6709155334424215bdc5508f2fc290737bf698309fed4c0b509eb4142b63e21d4f5cf1329d97b3b6a718f64
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aggkit (0.3.1)
4
+ aggkit (0.3.1.8768)
5
5
  diplomat
6
6
  dotenv
7
7
  json
data/bin/aggci CHANGED
@@ -22,6 +22,10 @@ parser = OptionParser.new do |o|
22
22
  @opts[:pull] = parse_services(services)
23
23
  end
24
24
 
25
+ o.on("--push-cache services", 'Push cache to docker regestry') do |services|
26
+ @opts[:push] = parse_services(services)
27
+ end
28
+
25
29
  o.on("--promote services", 'Promote service images to --stage') do |services|
26
30
  @opts[:promote] = parse_services(services)
27
31
  end
@@ -63,6 +67,10 @@ if services = @opts[:pull]
63
67
  raise "tag not defined" if @opts[:tag].to_s.empty?
64
68
  pull_images_cache services, @opts[:tag]
65
69
  exit 0
70
+ elsif services = @opts[:push]
71
+ raise "tag not defined" if @opts[:tag].to_s.empty?
72
+ push_images_cache services, @opts[:tag]
73
+ exit 0
66
74
  elsif services = @opts[:promote]
67
75
  raise "tag not defined" if @opts[:tag].to_s.empty?
68
76
  raise "stage not defined" if @opts[:stage].to_s.empty?
data/bin/aggwait CHANGED
@@ -76,6 +76,10 @@ OptionParser.new do |o|
76
76
  @opts[:pass] = pass.strip
77
77
  end
78
78
 
79
+ o.on('--docker=SOCKET', 'wait for docker available') do |socket|
80
+ @opts[:docker] = socket.strip
81
+ end
82
+
79
83
  o.on('-t', '--timeout secs=15', 'Total timeout') do |timeout|
80
84
  @opts[:timeout] = timeout.to_i
81
85
  end
@@ -208,6 +212,16 @@ def wait_for_file(file = @opts[:file], timeout = @opts[:timeout])
208
212
  yield(ret)
209
213
  end
210
214
 
215
+ def wait_for_docker(socket = @opts[:docket], timeout = @opts[:timeout])
216
+ log("Waiting for Docker on: #{socket}")
217
+ ret = wait_for timeout do
218
+ cmd = "DOCKER_HOST=#{socket} docker info > /dev/null 2>&1"
219
+ system(cmd)
220
+ $?.success?
221
+ end
222
+ yield(ret)
223
+ end
224
+
211
225
  if @opts[:tb]
212
226
  wait_for_tcp do |success|
213
227
  if success
@@ -260,3 +274,9 @@ if @opts[:file]
260
274
  complete!(success)
261
275
  end
262
276
  end
277
+
278
+ if @opts[:docker]
279
+ wait_for_docker(@opts[:docker], @opts[:timeout]) do |success|
280
+ complete!(success)
281
+ end
282
+ end
data/lib/aggkit/ci.rb CHANGED
@@ -175,6 +175,7 @@ module Aggkit
175
175
  def pull_images_cache services, tag
176
176
  log_action "Puling images#{[services].flatten.inspect} from cache...."
177
177
  [services].flatten.each do |service|
178
+ execute("docker pull #{workimage(service, tag)} 2> /dev/null || true")
178
179
  execute("docker pull #{devimage(service, tag)} 2> /dev/null || true")
179
180
  execute("docker pull #{stageimage(service, tag)} 2> /dev/null || true")
180
181
  execute("docker pull #{releaseimage(service, tag)} 2> /dev/null || true")
@@ -184,6 +185,14 @@ module Aggkit
184
185
  end
185
186
  end
186
187
 
188
+ # Залить образы в репозиторий
189
+ def push_images_cache services, tag
190
+ log_action "Pushing images#{[services].flatten.inspect} to cache...."
191
+ [services].flatten.each do |service|
192
+ tagimage! workimage(service, tag), workimage(service, tag), push: true
193
+ end
194
+ end
195
+
187
196
  #Растегировать все образы для дальнейшего удаления. Помечает как latest для поддержки кеширования docker
188
197
  def clean_services services, tag
189
198
  [services].flatten.each do |service|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aggkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.1.8768
5
5
  platform: ruby
6
6
  authors:
7
7
  - Godko Ivan
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-02-19 00:00:00.000000000 Z
12
+ date: 2019-02-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: diplomat
@@ -189,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
189
  version: '0'
190
190
  requirements: []
191
191
  rubyforge_project:
192
- rubygems_version: 2.7.3
192
+ rubygems_version: 2.6.3
193
193
  signing_key:
194
194
  specification_version: 4
195
195
  summary: Helper scripts for work with docker and consul in Aggredator