indocker 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/example/indocker/bin/deploy +19 -13
- data/lib/indocker.rb +17 -12
- data/lib/indocker/configuration_deployer.rb +42 -12
- data/lib/indocker/deployment_progress.rb +7 -2
- data/lib/indocker/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9667ebbc4e293dd51830ec7cae6c57455fe1b59b09722e094d76fa934564001
|
4
|
+
data.tar.gz: 4912748b481273ba9cc7a69e11698ebfc14cd01d942550bb7f67f014df0b1a46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 553570ec945812578c4a3cfc1744e5455c8e18e584cc2bb0bed4f70227d751329d147c04d07858f0bd26390f3725eb7bed2ce6f5fab4e34ee3731e065cc54499
|
7
|
+
data.tar.gz: f1b46f64d4be12e0d62de23623fc3aac49fc0f10246effe8868fde2d9721d6105776ca7d06edd3e8e9d368352882125720915ca81ab2952e0e1feecd0eab51e3
|
data/example/indocker/bin/deploy
CHANGED
@@ -8,9 +8,10 @@ configurations = list_configurations(File.expand_path(File.join(__dir__, '../con
|
|
8
8
|
ARGV << '-h' if ARGV.empty?
|
9
9
|
|
10
10
|
options = {
|
11
|
-
skip_build:
|
12
|
-
|
13
|
-
|
11
|
+
skip_build: false,
|
12
|
+
skip_deploy: false,
|
13
|
+
force_restart: false,
|
14
|
+
skip_tags: [],
|
14
15
|
skip_force_restart: [],
|
15
16
|
}
|
16
17
|
|
@@ -61,6 +62,10 @@ OptionParser.new do |opts|
|
|
61
62
|
options[:skip_build] = true
|
62
63
|
end
|
63
64
|
|
65
|
+
opts.on("-b", "--skip-deploy", "Skip image deploy") do |val|
|
66
|
+
options[:skip_deploy] = true
|
67
|
+
end
|
68
|
+
|
64
69
|
opts.on("-y", "--auto-confirm", "Automatically confirm deployment") do |val|
|
65
70
|
options[:auto_confirm] = true
|
66
71
|
end
|
@@ -106,15 +111,16 @@ Indocker.set_configuration_name(options[:configuration])
|
|
106
111
|
require_relative '../setup'
|
107
112
|
|
108
113
|
Indocker.deploy(
|
109
|
-
containers:
|
110
|
-
tags:
|
111
|
-
skip_containers:
|
112
|
-
skip_dependent:
|
113
|
-
servers:
|
114
|
-
skip_build:
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
114
|
+
containers: options[:containers] || [],
|
115
|
+
tags: options[:tags] || [],
|
116
|
+
skip_containers: options[:skip_containers] || [],
|
117
|
+
skip_dependent: !!options[:skip_dependent],
|
118
|
+
servers: options[:servers] || [],
|
119
|
+
skip_build: options[:skip_build],
|
120
|
+
skip_deploy: options[:skip_deploy],
|
121
|
+
force_restart: options[:force_restart],
|
122
|
+
skip_tags: options[:skip_tags] || [],
|
123
|
+
skip_force_restart: options[:skip_force_restart] || [],
|
124
|
+
auto_confirm: !!options[:auto_confirm],
|
119
125
|
require_confirmation: !!options[:require_confirmation],
|
120
126
|
)
|
data/lib/indocker.rb
CHANGED
@@ -318,21 +318,26 @@ module Indocker
|
|
318
318
|
builder
|
319
319
|
end
|
320
320
|
|
321
|
-
def deploy(containers: [], skip_tags: [], tags: [], skip_dependent: false,
|
321
|
+
def deploy(containers: [], skip_tags: [], tags: [], skip_dependent: false,
|
322
|
+
skip_containers: [], servers: [], skip_build: false, skip_deploy: false,
|
323
|
+
force_restart: false, skip_force_restart: [], auto_confirm: false,
|
324
|
+
require_confirmation: false)
|
325
|
+
|
322
326
|
Indocker::ConfigurationDeployer
|
323
327
|
.new(Indocker.logger)
|
324
328
|
.run(
|
325
|
-
configuration:
|
326
|
-
deploy_containers:
|
327
|
-
deploy_tags:
|
328
|
-
skip_dependent:
|
329
|
-
skip_containers:
|
330
|
-
servers:
|
331
|
-
skip_build:
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
329
|
+
configuration: configuration,
|
330
|
+
deploy_containers: containers,
|
331
|
+
deploy_tags: tags,
|
332
|
+
skip_dependent: skip_dependent,
|
333
|
+
skip_containers: skip_containers,
|
334
|
+
servers: servers,
|
335
|
+
skip_build: skip_build,
|
336
|
+
skip_deploy: skip_deploy,
|
337
|
+
force_restart: force_restart,
|
338
|
+
skip_tags: skip_tags,
|
339
|
+
skip_force_restart: skip_force_restart,
|
340
|
+
auto_confirm: auto_confirm,
|
336
341
|
require_confirmation: require_confirmation,
|
337
342
|
)
|
338
343
|
end
|
@@ -18,7 +18,8 @@ class Indocker::ConfigurationDeployer
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def run(configuration:, deploy_containers:, skip_tags:, deploy_tags:, skip_dependent:,
|
21
|
-
skip_containers:, servers:, skip_build:, force_restart:, skip_force_restart:,
|
21
|
+
skip_containers:, servers:, skip_build:, skip_deploy:, force_restart:, skip_force_restart:,
|
22
|
+
auto_confirm:, require_confirmation:)
|
22
23
|
build_context_pool = nil
|
23
24
|
deployer = nil
|
24
25
|
|
@@ -31,6 +32,10 @@ class Indocker::ConfigurationDeployer
|
|
31
32
|
@logger.warn("WARNING. Images build step will be skipped")
|
32
33
|
end
|
33
34
|
|
35
|
+
if skip_deploy
|
36
|
+
@logger.warn("WARNING. Images deploy step will be skipped")
|
37
|
+
end
|
38
|
+
|
34
39
|
preload_containers(configuration)
|
35
40
|
|
36
41
|
containers = find_deploy_containers(configuration, deploy_containers, deploy_tags, skip_dependent, skip_containers, servers, skip_tags, auto_confirm, require_confirmation)
|
@@ -56,13 +61,14 @@ class Indocker::ConfigurationDeployer
|
|
56
61
|
|
57
62
|
@progress.setup(
|
58
63
|
binaries_servers: servers,
|
59
|
-
build_servers:
|
60
|
-
deploy_servers:
|
61
|
-
env_files:
|
62
|
-
repositories:
|
63
|
-
force_restart:
|
64
|
-
skip_build:
|
65
|
-
|
64
|
+
build_servers: build_servers,
|
65
|
+
deploy_servers: deploy_servers,
|
66
|
+
env_files: configuration.env_files.keys,
|
67
|
+
repositories: configuration.repositories.keys,
|
68
|
+
force_restart: force_restart,
|
69
|
+
skip_build: skip_build,
|
70
|
+
skip_deploy: skip_deploy,
|
71
|
+
containers: containers,
|
66
72
|
artifact_servers: configuration.artifact_servers,
|
67
73
|
)
|
68
74
|
|
@@ -81,7 +87,17 @@ class Indocker::ConfigurationDeployer
|
|
81
87
|
update_crontab_redeploy_rules(configuration, build_servers.first)
|
82
88
|
|
83
89
|
containers.uniq.each do |container|
|
84
|
-
recursively_deploy_container(
|
90
|
+
recursively_deploy_container(
|
91
|
+
configuration,
|
92
|
+
deployer,
|
93
|
+
build_context_pool,
|
94
|
+
container,
|
95
|
+
containers,
|
96
|
+
skip_build,
|
97
|
+
skip_deploy,
|
98
|
+
force_restart,
|
99
|
+
skip_force_restart
|
100
|
+
)
|
85
101
|
end
|
86
102
|
|
87
103
|
Thread
|
@@ -285,9 +301,21 @@ class Indocker::ConfigurationDeployer
|
|
285
301
|
build_context.set_compiled(image)
|
286
302
|
end
|
287
303
|
|
288
|
-
def recursively_deploy_container(configuration, deployer, build_context_pool, container,
|
304
|
+
def recursively_deploy_container(configuration, deployer, build_context_pool, container,
|
305
|
+
containers, skip_build, skip_deploy, force_restart, skip_force_restart)
|
306
|
+
|
289
307
|
container.dependent_containers.each do |container|
|
290
|
-
recursively_deploy_container(
|
308
|
+
recursively_deploy_container(
|
309
|
+
configuration,
|
310
|
+
deployer,
|
311
|
+
build_context_pool,
|
312
|
+
container,
|
313
|
+
containers,
|
314
|
+
skip_build,
|
315
|
+
skip_deploy,
|
316
|
+
force_restart,
|
317
|
+
skip_force_restart
|
318
|
+
)
|
291
319
|
end
|
292
320
|
|
293
321
|
return if !containers.include?(container)
|
@@ -304,7 +332,9 @@ class Indocker::ConfigurationDeployer
|
|
304
332
|
|
305
333
|
@progress.finish_building_container(container)
|
306
334
|
|
307
|
-
|
335
|
+
if !skip_deploy
|
336
|
+
deployer.deploy(container, force_restart, skip_force_restart, @progress)
|
337
|
+
end
|
308
338
|
end
|
309
339
|
|
310
340
|
class RemoteOperation
|
@@ -70,9 +70,10 @@ class Indocker::DeploymentProgress
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def setup(binaries_servers:, build_servers:, deploy_servers:, env_files:, artifact_servers:,
|
73
|
-
repositories:, force_restart:, skip_build:, containers:)
|
73
|
+
repositories:, force_restart:, skip_build:, skip_deploy:, containers:)
|
74
74
|
@force_restart = force_restart
|
75
|
-
@skip_build
|
75
|
+
@skip_build = skip_build
|
76
|
+
@skip_deploy = skip_deploy
|
76
77
|
|
77
78
|
binaries_servers.each do |server|
|
78
79
|
@synced_binaries[server] = {
|
@@ -250,6 +251,10 @@ class Indocker::DeploymentProgress
|
|
250
251
|
@logger.info("Warning: Image build is skipped for all containers".purple)
|
251
252
|
end
|
252
253
|
|
254
|
+
if @skip_deploy
|
255
|
+
@logger.info("Warning: All container deployment is skipped".purple)
|
256
|
+
end
|
257
|
+
|
253
258
|
if @force_restart
|
254
259
|
@logger.info("Warning: All containers will be force restarted".purple)
|
255
260
|
end
|
data/lib/indocker/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: indocker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Gatiyatov
|
8
8
|
- Iskander Khaziev
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-07-
|
12
|
+
date: 2020-07-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: net-ssh
|
@@ -159,7 +159,7 @@ homepage: https://github.com/ArtStation/indocker
|
|
159
159
|
licenses:
|
160
160
|
- MIT
|
161
161
|
metadata: {}
|
162
|
-
post_install_message:
|
162
|
+
post_install_message:
|
163
163
|
rdoc_options: []
|
164
164
|
require_paths:
|
165
165
|
- lib
|
@@ -174,8 +174,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
174
|
- !ruby/object:Gem::Version
|
175
175
|
version: '0'
|
176
176
|
requirements: []
|
177
|
-
rubygems_version: 3.0.
|
178
|
-
signing_key:
|
177
|
+
rubygems_version: 3.0.3
|
178
|
+
signing_key:
|
179
179
|
specification_version: 4
|
180
180
|
summary: Docker Containers Deployment
|
181
181
|
test_files: []
|