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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 405310bd24a8adfa838f82a3cac79f2fa125083ebcb4cf788d27332875d52353
4
- data.tar.gz: 12103e2edb743e5024f50496962883f271c095bcd6264934c3295309fbf8e762
3
+ metadata.gz: d9667ebbc4e293dd51830ec7cae6c57455fe1b59b09722e094d76fa934564001
4
+ data.tar.gz: 4912748b481273ba9cc7a69e11698ebfc14cd01d942550bb7f67f014df0b1a46
5
5
  SHA512:
6
- metadata.gz: fd602a0202c99b48303ee69a129b9f8cbfa9d621a7d2ea3f84b1446613ed8210b7ad103005967ce0459407a49482fcababf1b72f27254b1e6d5fcc29175c2ceb
7
- data.tar.gz: 67f12a6d6b2715bde6034dbbc1b6e0a2c42bcc7c27a5e66fe40bde489db8f50cd42fb1805e03e04e35a76dd9a1f82bb754e942beba68a9fba5a4751614644dbb
6
+ metadata.gz: 553570ec945812578c4a3cfc1744e5455c8e18e584cc2bb0bed4f70227d751329d147c04d07858f0bd26390f3725eb7bed2ce6f5fab4e34ee3731e065cc54499
7
+ data.tar.gz: f1b46f64d4be12e0d62de23623fc3aac49fc0f10246effe8868fde2d9721d6105776ca7d06edd3e8e9d368352882125720915ca81ab2952e0e1feecd0eab51e3
@@ -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: false,
12
- force_restart: false,
13
- skip_tags: [],
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: options[:containers] || [],
110
- tags: options[:tags] || [],
111
- skip_containers: options[:skip_containers] || [],
112
- skip_dependent: !!options[:skip_dependent],
113
- servers: options[:servers] || [],
114
- skip_build: options[:skip_build],
115
- force_restart: options[:force_restart],
116
- skip_tags: options[:skip_tags] || [],
117
- skip_force_restart: options[:skip_force_restart] || [],
118
- auto_confirm: !!options[:auto_confirm],
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
  )
@@ -318,21 +318,26 @@ module Indocker
318
318
  builder
319
319
  end
320
320
 
321
- def deploy(containers: [], skip_tags: [], tags: [], skip_dependent: false, skip_containers: [], servers: [], skip_build: false, force_restart: false, skip_force_restart: [], auto_confirm: false, require_confirmation: 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: configuration,
326
- deploy_containers: containers,
327
- deploy_tags: tags,
328
- skip_dependent: skip_dependent,
329
- skip_containers: skip_containers,
330
- servers: servers,
331
- skip_build: skip_build,
332
- force_restart: force_restart,
333
- skip_tags: skip_tags,
334
- skip_force_restart: skip_force_restart,
335
- auto_confirm: auto_confirm,
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:, auto_confirm:, require_confirmation:)
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: build_servers,
60
- deploy_servers: deploy_servers,
61
- env_files: configuration.env_files.keys,
62
- repositories: configuration.repositories.keys,
63
- force_restart: force_restart,
64
- skip_build: skip_build,
65
- containers: containers,
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(configuration, deployer, build_context_pool, container, containers, skip_build, force_restart, skip_force_restart)
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, containers, skip_build, force_restart, skip_force_restart)
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(configuration, deployer, build_context_pool, container, containers, skip_build, force_restart, skip_force_restart)
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
- deployer.deploy(container, force_restart, skip_force_restart, @progress)
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 = 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
@@ -1,3 +1,3 @@
1
1
  module Indocker
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
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.7
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-02 00:00:00.000000000 Z
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.8
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: []