kdeploy 1.0.8 → 1.1.0
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/lib/kdeploy/cli.rb +13 -1
- data/lib/kdeploy/runner.rb +43 -15
- data/lib/kdeploy/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 361d3e4177d88e983400481dbfcbd8ae4c3e6e4f7964e547cdfb9fbdf333ba6c
|
4
|
+
data.tar.gz: d9c0aa6de6a5741f15cc175dffdc247903b4070fbd3ccfe66bb39bdcf8d52181
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b24732771d9e0cbee179aeffcc83b2c3f99a9711c4730b00b33a7a7536ac5cf362dbf8462940c91a0314c4bb7b2547880c04dd402e6b2eba36ca355aa7973657
|
7
|
+
data.tar.gz: b64dcf2f6498fd6b5f6d53c1738dbe719be7d033925e8e0b046bd5a6be5d2d93915e87ac4860079bb356d080b1e4170ec5398f10309dc0e2733c2a40147a3f46
|
data/lib/kdeploy/cli.rb
CHANGED
@@ -221,11 +221,23 @@ module Kdeploy
|
|
221
221
|
|
222
222
|
# summary
|
223
223
|
puts pastel.cyan("\nPLAY RECAP #{'*' * 64}")
|
224
|
+
max_host_len = results.keys.map(&:length).max || 16
|
224
225
|
results.each do |host, result|
|
225
226
|
ok = %i[success changed].include?(result[:status]) ? result[:output].size : 0
|
226
227
|
failed = result[:status] == :failed ? 1 : 0
|
227
228
|
changed = result[:status] == :changed ? result[:output].size : 0
|
228
|
-
|
229
|
+
ok_str = pastel.green("ok=#{ok.to_s.ljust(3)}")
|
230
|
+
changed_str = pastel.yellow("changed=#{changed.to_s.ljust(3)}")
|
231
|
+
failed_str = pastel.red("failed=#{failed.to_s.ljust(3)}")
|
232
|
+
line = "#{host.ljust(max_host_len)} : #{ok_str} #{changed_str} #{failed_str}"
|
233
|
+
case result[:status]
|
234
|
+
when :success
|
235
|
+
puts pastel.green(line)
|
236
|
+
when :changed
|
237
|
+
puts pastel.yellow(line)
|
238
|
+
else
|
239
|
+
puts pastel.red(line)
|
240
|
+
end
|
229
241
|
end
|
230
242
|
end
|
231
243
|
end
|
data/lib/kdeploy/runner.rb
CHANGED
@@ -21,21 +21,49 @@ module Kdeploy
|
|
21
21
|
executor = Executor.new(config)
|
22
22
|
result = { status: :success, output: [] }
|
23
23
|
|
24
|
-
task[:block].call.
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
24
|
+
task[:block].call.group_by do |cmd|
|
25
|
+
cmd[:type].to_s + (if cmd[:type] == :upload
|
26
|
+
cmd[:source].to_s
|
27
|
+
else
|
28
|
+
cmd[:type] == :run ? cmd[:command].to_s.lines.first.strip : ''
|
29
|
+
end)
|
30
|
+
end.each_value do |commands|
|
31
|
+
# 生成 TASK 横幅
|
32
|
+
pastel = Pastel.new
|
33
|
+
first_cmd = commands.first
|
34
|
+
task_desc = case first_cmd[:type]
|
35
|
+
when :upload
|
36
|
+
"upload #{first_cmd[:source]}"
|
37
|
+
when :upload_template
|
38
|
+
"template #{first_cmd[:source]}"
|
39
|
+
when :run
|
40
|
+
first_cmd[:command].to_s.lines.first.strip
|
41
|
+
else
|
42
|
+
first_cmd[:type].to_s
|
43
|
+
end
|
44
|
+
puts pastel.cyan("\nTASK [#{task_desc}] " + ('*' * 64))
|
45
|
+
commands.each do |command|
|
46
|
+
case command[:type]
|
47
|
+
when :run
|
48
|
+
pastel = Pastel.new
|
49
|
+
puts pastel.bright_white("\n#{name.ljust(24)} : ")
|
50
|
+
puts pastel.cyan(" [run] #{command[:command].lines.first.strip}")
|
51
|
+
command[:command].lines[1..].each { |line| puts " > #{line.strip}" unless line.strip.empty? }
|
52
|
+
output = executor.execute(command[:command])
|
53
|
+
result[:output] << { command: command[:command], output: output }
|
54
|
+
when :upload
|
55
|
+
pastel = Pastel.new
|
56
|
+
puts pastel.bright_white("\n#{name.ljust(24)} : ")
|
57
|
+
puts pastel.green(" [upload] #{command[:source]} -> #{command[:destination]}")
|
58
|
+
executor.upload(command[:source], command[:destination])
|
59
|
+
result[:output] << { command: "upload: #{command[:source]} -> #{command[:destination]}" }
|
60
|
+
when :upload_template
|
61
|
+
pastel = Pastel.new
|
62
|
+
puts pastel.bright_white("\n#{name.ljust(24)} : ")
|
63
|
+
puts pastel.yellow(" [template] #{command[:source]} -> #{command[:destination]}")
|
64
|
+
executor.upload_template(command[:source], command[:destination], command[:variables])
|
65
|
+
result[:output] << { command: "upload_template: #{command[:source]} -> #{command[:destination]}" }
|
66
|
+
end
|
39
67
|
end
|
40
68
|
end
|
41
69
|
|
data/lib/kdeploy/version.rb
CHANGED