aggkit 0.2.7.8356 → 0.2.7.8361

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 78868a3a2110568dd024041051bf5fbeef7988f9
4
- data.tar.gz: 27cf9ca6792c156ab43613c32b0bb10dcb96b713
3
+ metadata.gz: 94d9152a885e9765d49e1de7170e31c51412200d
4
+ data.tar.gz: 10f827f1afa1101deea97ee2fd3e94e02ebdda6e
5
5
  SHA512:
6
- metadata.gz: 7985d52d82f75860a4cb474d834ee2689e3671f8200c74264e2b3642ba0240b868784e871a82c21ed144127b981857e36bc1e28d192f8f93d55c09fa84c36d3b
7
- data.tar.gz: b55b3e2e17a3d405ef8beca0a4e156c25567b3fe90dad4d8ae57aede83855d3bf040ec043e32290cff1315ccae0d411996a844aa50df3409d5d65c82896294dd
6
+ metadata.gz: 234f16fc08e0ff76a79343241bee4f431d81c81c62ee7aad5b0228f8f025f51c87b533fceee076c4fcae82b6680ab93c2cafa7d5ae980d84dc2c174f9d92d9e6
7
+ data.tar.gz: 39800eb8beba4196a9380407acf2b29ac7436c5321d2b1590b59690b63e1bf6c152732bfc7832917086afe346d76ae269966449d0a9bf767d339f7c6538526f7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aggkit (0.2.7.8356)
4
+ aggkit (0.2.7.8361)
5
5
  diplomat
6
6
  dotenv
7
7
  json
data/bin/aggci CHANGED
@@ -38,9 +38,18 @@ parser = OptionParser.new do |o|
38
38
  @opts[:clean] = parse_services(services)
39
39
  end
40
40
 
41
+ o.on("--services services", 'list or services to process') do |services|
42
+ @opts[:services] = parse_services(services)
43
+ end
44
+
41
45
  o.on("--ssh-deploy env", 'ssh') do |env_and_server|
42
46
  env, server = env_and_server.strip.split('@')
43
- @opts[:deploy] = {env: env, server: server}
47
+ @opts[:deploy] = {env: env, server: server})
48
+ end
49
+
50
+ o.on("--ssh-core-deploy env", 'ssh') do |env_and_server|
51
+ env, server = env_and_server.strip.split('@')
52
+ @opts[:core_deploy] = {env: env, server: server}
44
53
  end
45
54
 
46
55
  o.on("--tag tag=#{@opts[:tag].inspect}", 'Use tag as default tag for images') do |tag|
@@ -78,9 +87,19 @@ elsif services = @opts[:clean]
78
87
  exit 0
79
88
 
80
89
  elsif deploy = @opts[:deploy]
90
+ @opts[:services] ||= []
91
+ raise "tag not defined" if @opts[:tag].to_s.empty?
92
+ raise "stage not defined" if @opts[:stage].to_s.empty?
93
+ raise "services not defined" if @opts[:services].empty?
94
+ ssh_deploy @opts[:services], deploy[:env], deploy[:server], @opts[:tag], @opts[:stage]
95
+ exit 0
96
+
97
+ elsif deploy = @opts[:core_deploy]
98
+ @opts[:services] ||= []
81
99
  raise "tag not defined" if @opts[:tag].to_s.empty?
82
100
  raise "stage not defined" if @opts[:stage].to_s.empty?
83
- ssh_deploy 'service-fns', deploy[:env], deploy[:server], @opts[:tag], @opts[:stage]
101
+ raise "services not defined" if @opts[:services].empty?
102
+ ssh_core_deploy @opts[:services], deploy[:env], deploy[:server], @opts[:tag], @opts[:stage]
84
103
  exit 0
85
104
  end
86
105
 
data/lib/aggkit/ci.rb CHANGED
@@ -196,6 +196,56 @@ module Aggkit
196
196
  end
197
197
 
198
198
  def ssh_deploy services, env, sshserver, tag, stage
199
+ with_remote_docker services, env, sshserver, tag, stage do |config, environment|
200
+ config_file = config['config_file'].to_s
201
+
202
+ execute('docker-compose ps')
203
+ execute('docker-compose pull')
204
+
205
+ consul = execute('docker ps | grep consul').split(' ').first.strip
206
+ puts "CONSULT ID: #{consul}"
207
+
208
+ if !config_file.empty?
209
+ execute("docker exec -i #{consul} aggwait -t 20 --consul")
210
+ execute("docker exec -i #{consul} aggconsul --init --override --config - < #{config_file}")
211
+ end
212
+
213
+ execute('docker-compose up -t 30 -d')
214
+ end
215
+ end
216
+
217
+ def ssh_core_deploy services, env, sshserver, tag, stage
218
+ with_remote_docker services, env, sshserver, tag, stage do |config, environment|
219
+ config_file = config['config_file'].to_s
220
+
221
+ execute('docker-compose ps')
222
+ execute('docker-compose pull')
223
+ execute('docker-compose up -t 30 -d consul')
224
+
225
+ consul = execute('docker ps | grep consul').split(' ').first.strip
226
+ puts "CONSULT ID: #{consul}"
227
+
228
+ if !config_file.empty?
229
+ execute("docker exec -i #{consul} aggwait -t 20 --consul")
230
+ execute("docker exec -i #{consul} aggconsul --init --override --config - < #{config_file}")
231
+ end
232
+
233
+ #echo " * Consul ready"
234
+ #echo " * Updatting database..."
235
+ execute('docker-compose up -t 30 -d db')
236
+ sleep 5
237
+ #echo " * Db ready"
238
+ #echo " * Bootstrapping admin..."
239
+ execute('docker-compose run --rm -T admin /home/app/docker/bootstrap.rb')
240
+ sleep 5
241
+ #echo " * Bootstrapping complete"
242
+ #echo " * Updating all containers..."
243
+ execute('docker-compose up -t 30 -d')
244
+ #echo " * Containers ready"
245
+ end
246
+ end
247
+
248
+ def with_remote_docker services, env, sshserver, tag, stage
199
249
  services = [services].flatten
200
250
  log_action "Deploy [#{services.inspect}] tag:#{tag.inspect} stage:#{stage.inspect} to #{sshserver.inspect}"
201
251
  with_ssh sshserver do |sockname|
@@ -208,25 +258,14 @@ module Aggkit
208
258
 
209
259
  localid = execute("docker info | grep ID").strip
210
260
 
211
- Aggkit::Env.with_env(envs) do
261
+ Aggkit::Env.with_env(envs) do |environment|
212
262
  remoteid = execute("docker info | grep ID").strip
213
263
 
214
264
  if localid == remoteid
215
265
  raise "Can't get access to remote Docker"
216
266
  end
217
267
 
218
- execute('docker-compose ps')
219
- execute('docker-compose pull')
220
-
221
- consul = execute('docker ps | grep consul').split(' ').first.strip
222
- puts "CONSULT ID: #{consul}"
223
-
224
- if !config_file.empty?
225
- execute("docker exec -i #{consul} aggwait -t 20 --consul")
226
- execute("docker exec -i #{consul} aggconsul --init --override --config - < #{config_file}")
227
- end
228
-
229
- execute('docker-compose up -d')
268
+ yield(env_config, environment)
230
269
 
231
270
  services.each do |service|
232
271
  deployed = promotedimage(service, stage, tag)
data/lib/aggkit/env.rb CHANGED
@@ -30,7 +30,7 @@ module Aggkit
30
30
  env.each_pair do |k, v|
31
31
  ENV[k.to_s] = v.to_s
32
32
  end
33
- yield
33
+ yield(env)
34
34
  ensure
35
35
  (env.keys.map(&:to_s) - current_env.keys).each do |key|
36
36
  ENV.delete(key.to_s)
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.2.7.8356
4
+ version: 0.2.7.8361
5
5
  platform: ruby
6
6
  authors:
7
7
  - Godko Ivan