aggkit 0.3.1 → 0.3.1.8768

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
- 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