aggkit 0.2.7.8356 → 0.2.7.8361

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
  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