dapp 0.21.10 → 0.21.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/dapp/dapp.rb +14 -10
- data/lib/dapp/dimg/dapp/command/common.rb +6 -4
- data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +7 -9
- data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +3 -5
- data/lib/dapp/dimg/image/argument.rb +1 -1
- data/lib/dapp/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0d56d3d9730f62e742ea9b2921c3d0685db05f5155e585f187853a06a8e0d9f5
|
4
|
+
data.tar.gz: 779054e20a4a4646b68c32e9211358e62c298464e43508e8cfe4af535528a373
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b25dfee5043a773e558e6cb7eb7dc126dc9628032414cb1b3377589c3fa761b11d1ca676ca1ef5bdebe59ae9bb8c462acadae1739e444f21e877660c507573b
|
7
|
+
data.tar.gz: 61af6b702fbd0fd83f250b5f781cc8e8707011f1735d8c863c5c3c2a568b0c1067b31d9d3110777da784c474e332284f9e34f884a0588e0b755c4fcfcf419928
|
data/lib/dapp/dapp.rb
CHANGED
@@ -139,24 +139,28 @@ module Dapp
|
|
139
139
|
|
140
140
|
def host_docker
|
141
141
|
@host_docker ||= begin
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
required_min_docker_version = Gem::Version.new('1.10')
|
147
|
-
|
148
|
-
if required_min_docker_version >= current_docker_version
|
149
|
-
raise Error::Dapp, code: :docker_version, data: { min_version: required_min_docker_version.to_s,
|
150
|
-
version: current_docker_version.to_s }
|
142
|
+
min_docker_minor_version = Gem::Version.new('1.10')
|
143
|
+
unless host_docker_minor_version > min_docker_minor_version
|
144
|
+
raise Error::Dapp, code: :docker_version, data: { min_version: min_docker_minor_version.to_s,
|
145
|
+
version: host_docker_minor_version.to_s }
|
151
146
|
end
|
152
147
|
|
153
148
|
[].tap do |cmd|
|
154
|
-
cmd <<
|
149
|
+
cmd << host_docker_bin
|
155
150
|
cmd << "--config #{host_docker_config_dir}"
|
156
151
|
end.join(' ')
|
157
152
|
end
|
158
153
|
end
|
159
154
|
|
155
|
+
def host_docker_bin
|
156
|
+
raise Error::Dapp, code: :docker_not_found if (res = shellout('which docker')).exitstatus.nonzero?
|
157
|
+
res.stdout.strip
|
158
|
+
end
|
159
|
+
|
160
|
+
def host_docker_minor_version
|
161
|
+
Gem::Version.new(shellout!("#{host_docker_bin} --version").stdout.strip[/\d+\.\d+/])
|
162
|
+
end
|
163
|
+
|
160
164
|
def host_docker_config_dir
|
161
165
|
if options_with_docker_credentials? && !options[:repo].nil?
|
162
166
|
host_docker_tmp_config_dir
|
@@ -95,10 +95,8 @@ module Dapp
|
|
95
95
|
|
96
96
|
def check_user_containers!(images_ids)
|
97
97
|
return if images_ids.empty?
|
98
|
-
|
99
|
-
|
100
|
-
raise Error::Command, code: :user_containers_detected, data: { ids: res.stdout.strip } if res && !res.stdout.strip.empty? && !dry_run?
|
101
|
-
end
|
98
|
+
run_command(%(#{host_docker} ps -a -q #{images_ids.uniq.map { |image_id| "--filter=ancestor=#{image_id}" }.join(' ')} --no-trunc)).tap do |res|
|
99
|
+
raise Error::Command, code: :user_containers_detected, data: { ids: res.stdout.strip } if res && !res.stdout.strip.empty? && !dry_run?
|
102
100
|
end
|
103
101
|
end
|
104
102
|
|
@@ -150,6 +148,10 @@ module Dapp
|
|
150
148
|
log_step_with_indent(:'proper cache', &blk)
|
151
149
|
end
|
152
150
|
|
151
|
+
def log_proper_repo_cache(&blk)
|
152
|
+
log_step_with_indent(:'proper repo cache', &blk)
|
153
|
+
end
|
154
|
+
|
153
155
|
def one_dimg!
|
154
156
|
return if build_configs.one?
|
155
157
|
raise Error::Command, code: :command_unexpected_dimgs_number, data: { dimgs_names: build_configs.map(&:_name).join(' ') }
|
@@ -21,9 +21,7 @@ module Dapp
|
|
21
21
|
def proper_cache
|
22
22
|
log_proper_cache do
|
23
23
|
lock("#{name}.images") do
|
24
|
-
|
25
|
-
remove_project_images(dapp_project_images_ids.select { |image_id| !actual_cache_project_images_ids.include?(image_id) })
|
26
|
-
end
|
24
|
+
remove_project_images(dapp_project_images_ids.select { |image_id| !actual_cache_project_images_ids.include?(image_id) })
|
27
25
|
end
|
28
26
|
end
|
29
27
|
end
|
@@ -38,15 +36,15 @@ module Dapp
|
|
38
36
|
end
|
39
37
|
|
40
38
|
def stages_cleanup_by_repo
|
41
|
-
|
42
|
-
|
39
|
+
log_proper_repo_cache do
|
40
|
+
lock("#{name}.images") do
|
41
|
+
registry = dimg_registry(option_repo)
|
42
|
+
repo_dimgs = repo_detailed_dimgs_images(registry)
|
43
43
|
|
44
|
-
lock("#{name}.images") do
|
45
|
-
log_step_with_indent(name) do
|
46
44
|
dapp_project_dangling_images_flush
|
47
45
|
|
48
|
-
|
49
|
-
|
46
|
+
_, dimgstages = dapp_project_images.partition { |image| repo_dimgs.any? { |dimg| dimg[:id] == image[:id] } }
|
47
|
+
repo_dimgs.each { |repo_dimg| except_dapp_project_image_with_parents(repo_dimg[:parent], dimgstages) }
|
50
48
|
|
51
49
|
# Удаление только образов старше 2ч
|
52
50
|
dimgstages.delete_if do |dimgstage|
|
@@ -6,11 +6,9 @@ module Dapp
|
|
6
6
|
module FlushLocal
|
7
7
|
def stages_flush_local
|
8
8
|
lock("#{name}.images") do
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
remove_project_images(dapp_project_images_ids)
|
13
|
-
end
|
9
|
+
dapp_project_containers_flush
|
10
|
+
dapp_project_dangling_images_flush
|
11
|
+
remove_project_images(dapp_project_images_ids)
|
14
12
|
end
|
15
13
|
end
|
16
14
|
end
|
@@ -66,7 +66,7 @@ module Dapp
|
|
66
66
|
options.map do |key, vals|
|
67
67
|
case key
|
68
68
|
when :cmd, :entrypoint
|
69
|
-
vals = [''] if vals == []
|
69
|
+
vals = [''] if vals == [] && ::Dapp::Dapp.host_docker_minor_version >= Gem::Version.new('17.10')
|
70
70
|
[vals]
|
71
71
|
when :env, :label then vals.map(&method(:options_to_args)).flatten
|
72
72
|
else vals
|
data/lib/dapp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dapp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.21.
|
4
|
+
version: 0.21.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Stolyarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|
@@ -711,7 +711,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
711
711
|
version: 2.5.0
|
712
712
|
requirements: []
|
713
713
|
rubyforge_project:
|
714
|
-
rubygems_version: 2.
|
714
|
+
rubygems_version: 2.7.4
|
715
715
|
signing_key:
|
716
716
|
specification_version: 4
|
717
717
|
summary: Build docker packaged apps using chef or shell
|