mercadoni 0.0.9 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5bec230c114026380b99c6a43c84b03ecf8064df
4
- data.tar.gz: 5eddfcf18aaebd2d8dfb6337ac6a41e1d8783ada
3
+ metadata.gz: 96a7aba19475319c722ccfcfd4703f87e430794b
4
+ data.tar.gz: 310d8017fed0892fe5cc032b333db3d0d5b5b848
5
5
  SHA512:
6
- metadata.gz: 1ce9a3b1984cf75778f44ab64752e945c3e951ed5d3d15de0fd3c53b5e2deee37c6fafb1beffc46a12bea4cbf76de6687b8b370ee388f2f6f8ca914567fec98f
7
- data.tar.gz: c83fcd435f640259d4551a64e8a095e4dfb2f481c0c510ab1bd662292d47d06cbbf7a24d2dd8a08c23aa64a5c9fdc86a5fef421f94e9c901c6db17915ff518cc
6
+ metadata.gz: a27a92fb8862d32f3819deca11363b696edbe4cf7908530294e05b010cd8ae7c6d72be4c05048d3794cd666d76a66786c11512f2cd0ee0739b3f43ed9c7bf65d
7
+ data.tar.gz: 2f96706b74fe0470d1b5eca49b67e9d0a710ab564330cc6f7e3205e0959c29c666eebac614ed9290f6ac220c378f3a5e8857eac08b8303c8bcb42c830402fe54
data/README.md CHANGED
@@ -23,17 +23,17 @@ Install it yourself as:
23
23
 
24
24
  Possible app names:
25
25
 
26
- | Production | Development |
27
- |------------|---------------|
28
- | client | client-dev |
29
- | client-v2 | client-dev-v2 |
30
- | admin | admin-dev |
31
- | shopper | shopper-dev |
32
- | catalog | catalog-dev |
33
- | socket | socket-dev |
34
- | partner | partner-dev |
35
- | ed | ed-dev |
36
- | bi (dev) | bi-dev |
26
+ | Production | Staging | Development |
27
+ |------------|-------------------|---------------|
28
+ | client | client-staging | dev |
29
+ | client-v2 | client-staging-v2 | client-dev-v2 |
30
+ | admin | admin-staging | dev |
31
+ | shopper | shopper-staging | dev |
32
+ | catalog | catalog-staging | dev |
33
+ | socket | socket-staging | dev |
34
+ | partner | partner-staging | dev |
35
+ | ed | ed-staging | ed-dev |
36
+ | bi (dev) | bi-staging | dev |
37
37
 
38
38
  ** You can deploy multiple apps like this:
39
39
 
@@ -37,16 +37,16 @@ unless server_names.include? 'doc'
37
37
  'catalog' => { name: 'catalog', env: 'master' },
38
38
  'partner' => { name: 'partner', env: 'master' },
39
39
  'ed' => { name: 'ed', env: 'master' },
40
- 'bi' => { name: 'bi', env: 'dev' },
41
- 'client-dev' => { name: 'client-dev', env: 'dev' },
40
+ 'client-staging' => { name: 'client-staging', env: 'staging' },
41
+ 'admin-staging' => { name: 'admin-staging-aws', env: 'staging' },
42
+ 'shopper-staging' => {name: 'shopper-staging', env: 'staging' },
43
+ 'socket-staging' => { name: 'socket-staging', env: 'staging' },
44
+ 'catalog-staging' => { name: 'catalog-staging', env: 'staging' },
45
+ 'partner-staging' => { name: 'partner-staging', env: 'staging' },
46
+ 'ed-staging' => { name: 'ed-staging', env: 'staging' },
42
47
  'client-dev-v2' => { name: 'client-dev-v2', env: 'dev' },
43
- 'admin-dev' => { name: 'admin-dev', env: 'dev' },
44
- 'shopper-dev' => { name: 'shopper-dev', env: 'dev' },
45
- 'catalog-dev' => { name: 'catalog-dev', env: 'dev' },
46
- 'socket-dev' => { name: 'socket-dev', env: 'dev' },
47
- 'partner-dev' => { name: 'partner-dev', env: 'dev' },
48
- 'bi-dev' => { name: 'bi-dev', env: 'dev' },
49
- 'ed-dev' => { name: 'ed-dev', env: 'dev' }
48
+ 'ed-dev' => { name: 'ed-dev', env: 'dev' },
49
+ 'dev' => { name: 'dev', env: 'dev' }
50
50
  }[name]
51
51
  end
52
52
 
@@ -74,10 +74,11 @@ unless server_names.include? 'doc'
74
74
  ips << instance.public_ip_address
75
75
  end
76
76
  end
77
-
78
77
  ips.each do |ip|
79
- if params.include? '--logs'
80
- exec('ssh -t app@%{ip} "source ~/.nvm/nvm.sh && tailf \`forever logs | awk \'FNR==3 {print \$4}\'\`"' % {ip: ip})
78
+ if params.include? '--logs'
79
+ exec('ssh -t app@%{ip} "source ~/.nvm/nvm.sh && tailf \`forever logs | awk \'FNR==3 {print \$4}\'\`"' % {ip: ip})
80
+ elsif server_name.include? 'dev'
81
+ puts `git push app@#{ip}:admin.git #{env}`
81
82
  else
82
83
  puts `git push app@#{ip}:app.git #{env}`
83
84
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  require 'aws-sdk'
4
4
 
5
- server_names = ARGV.select do |arg|
5
+ server_names = ARGV.select do |arg|
6
6
  !(arg =~ /--/)
7
7
  end
8
8
 
9
- params = ARGV.select do |arg|
9
+ params = ARGV.select do |arg|
10
10
  arg =~ /--/
11
11
  end
12
12
 
@@ -14,85 +14,83 @@ aws_key = ENV['MERCADONI_AWS_KEY']
14
14
  aws_secret = ENV['MERCADONI_AWS_SECRET']
15
15
 
16
16
  Aws.config.update({
17
- region: 'us-west-2',
18
- credentials: Aws::Credentials.new(aws_key, aws_secret)
17
+ region: 'us-west-2',
18
+ credentials: Aws::Credentials.new(aws_key, aws_secret)
19
19
  })
20
20
 
21
21
  unless server_names.include? 'doc'
22
22
  thr = Thread.new {
23
- while true do
24
- #`afplay .alert.mp3`
25
- end
26
- }
27
-
28
- ec2 = Aws::EC2::Client.new
29
-
30
- def mapping_instances_names(name)
31
- names = {
32
- 'client' => { name: 'test_client', env: 'master' },
33
- 'admin' => { name: 'admin_aws', env: 'master' },
34
- 'shopper' => {name: 'shopper_aws', env: 'master' },
35
- 'socket' => { name: 'socket', env: 'master' },
36
- 'catalog' => { name: 'catalog', env: 'master' },
37
- 'partner' => { name: 'partner', env: 'master' },
38
- 'bi' => { name: 'bi', env: 'dev' },
39
- 'client-dev' => { name: 'client-dev', env: 'dev' },
40
- 'admin-dev' => { name: 'admin-dev', env: 'dev' },
41
- 'shopper-dev' => { name: 'shopper-dev', env: 'dev' },
42
- 'catalog-dev' => { name: 'catalog-dev', env: 'dev' },
43
- 'socket-dev' => { name: 'socket-dev', env: 'dev' },
44
- 'partner-dev' => { name: 'partner-dev', env: 'dev' },
45
- 'bi-dev' => { name: 'bi-dev', env: 'dev' }
46
- }[name]
47
- end
23
+ while true do
24
+ #`afplay .alert.mp3`
25
+ end
26
+ }
48
27
 
49
- server_names.each do |server_name|
50
- server = mapping_instances_names(server_name)
51
- server_name = server[:name];
52
- env = server[:env]
53
- puts "target: #{server_name}"
54
- puts "env: #{env}"
55
- resp = ec2.describe_instances({
56
- filters: [
57
- {
58
- name: 'key-name',
59
- values: [server_name],
60
- },{
61
- name: 'instance-state-code',
62
- values: ['16']
63
- }
64
- ],
65
- })
28
+ ec2 = Aws::EC2::Client.new
66
29
 
67
- ips = []
68
- resp.reservations.each do |reservation|
69
- reservation.instances.each do |instance|
70
- ips << instance.public_ip_address
30
+ def mapping_instances_names(name)
31
+ names = {
32
+ 'client' => { name: 'test_client', env: 'master' },
33
+ 'admin' => { name: 'admin_aws', env: 'master' },
34
+ 'shopper' => {name: 'shopper_aws', env: 'master' },
35
+ 'socket' => { name: 'socket', env: 'master' },
36
+ 'catalog' => { name: 'catalog', env: 'master' },
37
+ 'partner' => { name: 'partner', env: 'master' },
38
+ 'bi' => { name: 'bi', env: 'dev' },
39
+ 'client-dev' => { name: 'client-dev', env: 'dev' },
40
+ 'admin-dev' => { name: 'admin-dev', env: 'dev' },
41
+ 'shopper-dev' => { name: 'shopper-dev', env: 'dev' },
42
+ 'catalog-dev' => { name: 'catalog-dev', env: 'dev' },
43
+ 'socket-dev' => { name: 'socket-dev', env: 'dev' },
44
+ 'partner-dev' => { name: 'partner-dev', env: 'dev' },
45
+ 'bi-dev' => { name: 'bi-dev', env: 'dev' }
46
+ }[name]
71
47
  end
72
- end
73
48
 
74
- ips.each do |ip|
75
- if params.include? '--logs'
76
- exec('ssh -t app@%{ip} "source ~/.nvm/nvm.sh && tailf \`forever logs | awk \'FNR==3 {print \$4}\'\`"' % {ip: ip})
77
- else
78
- puts `git push app@#{ip}:app.git #{env}`
79
- end
80
- end
81
- end
82
- Thread.kill(thr)
83
- else
84
- `cd .. && node node_modules/apidoc/bin/apidoc -i controllers -o documentation`
85
- path = File.expand_path("..", Dir.pwd)
86
- path += '/documentation'
87
- bucket = 'api-doc.mercadoni.com'
88
- s3 = Aws::S3::Resource.new
89
- files = Dir.glob("#{path}/**/*").select { |f| File.file?(f) }
90
- files.each do |file|
91
- aws_path = file.to_s.scan( /documentation\/(.+)/).last.first
92
- obj = s3.bucket(bucket).object(aws_path)
93
- obj.upload_file(file.to_s, acl:'public-read')
94
- puts obj.public_url
95
- end
96
- end
49
+ server_names.each do |server_name|
50
+ server = mapping_instances_names(server_name)
51
+ server_name = server[:name];
52
+ env = server[:env]
53
+ puts "target: #{server_name}"
54
+ puts "env: #{env}"
55
+ resp = ec2.describe_instances({
56
+ filters: [
57
+ {
58
+ name: 'key-name',
59
+ values: [server_name],
60
+ },{
61
+ name: 'instance-state-code',
62
+ values: ['16']
63
+ }
64
+ ],
65
+ })
97
66
 
67
+ ips = []
68
+ resp.reservations.each do |reservation|
69
+ reservation.instances.each do |instance|
70
+ ips << instance.public_ip_address
71
+ end
72
+ end
98
73
 
74
+ ips.each do |ip|
75
+ if params.include? '--logs'
76
+ exec('ssh -t app@%{ip} "source ~/.nvm/nvm.sh && tailf \`forever logs | awk \'FNR==3 {print \$4}\'\`"' % {ip: ip})
77
+ else
78
+ puts `git push app@#{ip}:app.git #{env}`
79
+ end
80
+ end
81
+ end
82
+ Thread.kill(thr)
83
+ else
84
+ `cd .. && node node_modules/apidoc/bin/apidoc -i controllers -o documentation`
85
+ path = File.expand_path("..", Dir.pwd)
86
+ path += '/documentation'
87
+ bucket = 'api-doc.mercadoni.com'
88
+ s3 = Aws::S3::Resource.new
89
+ files = Dir.glob("#{path}/**/*").select { |f| File.file?(f) }
90
+ files.each do |file|
91
+ aws_path = file.to_s.scan( /documentation\/(.+)/).last.first
92
+ obj = s3.bucket(bucket).object(aws_path)
93
+ obj.upload_file(file.to_s, acl:'public-read')
94
+ puts obj.public_url
95
+ end
96
+ end
@@ -1,3 +1,3 @@
1
1
  module Mercadoni
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mercadoni
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Vizcaino
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-08-04 00:00:00.000000000 Z
12
+ date: 2016-08-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler