docker-deploy 0.0.2 → 0.0.3

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: be91539004a67fa213f2b5c2149bb1a89ddb4ac4
4
- data.tar.gz: af40b92261584748ebeb054b8b0c4f10c22b207a
3
+ metadata.gz: 0435a79eec7d832534bd04cea705966e574ce363
4
+ data.tar.gz: a70b934b9c33bc3e0b23189b3ac1cf7eaced8f6a
5
5
  SHA512:
6
- metadata.gz: 5d8dd51c9ba0ba78cad337fad556e943db52edbfb14f6bd81a7658f4c6a8a03f02086e82ee52a1a404d202df078e7a4b823448c9b3069ab8a101b3cbffdae1b8
7
- data.tar.gz: a935045a142c753f4a6add279c4347504680e0b23614559b39d823ca827e76797f742e3b0d39bd48c7e7b05bb9c56de0c9bf56bb8efd7add12afe10dfb29845c
6
+ metadata.gz: ab66dcafe582866d4a4ecb42daffa23fd8b2e07d8d4c4c2c41f5070aa8b70487f54db577110ad0810cc257e02d75813f71c35ff891ab6fc6c8608522285995e7
7
+ data.tar.gz: 5915dc05e964e77ba1aadffa0114d50aa7d696c806502bca8c9fc319e05390a67d2a0c6d93ef39074caf3beb6f844a3d9b3b77bf59385bb554ad5f1d8a466c9b
@@ -5,36 +5,37 @@ class GoogleCloudPlatform
5
5
  def initialize(project_name, app_name, credentials)
6
6
  @project_name = project_name
7
7
  @app_name = app_name
8
- @storage = Gcloud.storage "#{project_name}" "#{credentials}"
9
- @bucket = self.get_bucket
8
+ # assume we already logged in (GCE instance or GCloud SDK)
9
+ puts project_name
10
+
11
+ @storage = Gcloud.storage project_name, credentials
12
+ buckets = @storage.buckets
13
+ buckets.each do |bucket|
14
+ if bucket.name == @app_name
15
+ @bucket = bucket
16
+ end
17
+ end
18
+
19
+ unless @bucket
20
+ @bucket = @storage.create_bucket @app_name, retries: 3
21
+ end
10
22
  end
11
23
 
12
- def self.get_yaml_filename(duty, latest=false)
24
+ def get_yaml_filename(duty, latest=false)
13
25
  branch = `git rev-parse --abbrev-ref HEAD`.strip
14
26
  commit = 'latest'
15
27
  unless latest
16
28
  commit = `git rev-parse --short HEAD`.strip
17
29
  end
18
30
 
19
- return "#{@app_name}-#{branch}-#{commit}_#{duty}.yaml"
31
+ "#{@app_name}-#{branch}-#{commit}_#{duty}.yaml"
20
32
  end
21
33
 
22
- private
23
- def self.get_bucket
24
- buckets = @storage.buckets
25
- buckets.each do |bucket|
26
- if bucket.name == @app_name
27
- return bucket
28
- end
29
- end
30
-
31
- return @storage.create_bucket @app_name, retries: 3
32
- end
33
-
34
- def self.generate_startup_script
34
+ def generate_startup_script
35
35
  branch = `git rev-parse --abbrev-ref HEAD`.strip
36
36
 
37
- dist = %w{#!/bin/bash
37
+ dist = <<-EOF
38
+ #!/bin/bash
38
39
 
39
40
  gsutil cp gs://<app_name>/docker-compose/<primary_yaml> .
40
41
  gsutil cp gs://<app_name>/docker-compose/<backup_yaml> .
@@ -46,7 +47,7 @@ docker-compose up -p <app_name> -f <primary_yaml> -d
46
47
  # Pull Backup containers and start them
47
48
  docker-compose pull -p <app_name> -f <backup_yaml>
48
49
  docker-compose up -p <app_name> -f <backup_yaml> -d
49
- }
50
+ EOF
50
51
 
51
52
  dist = dist.gsub('<app_name>', @app_name)
52
53
  dist = dist.gsub('<primary_yaml>', self.get_yaml_filename('primary', true))
@@ -60,15 +61,16 @@ docker-compose up -p <app_name> -f <backup_yaml> -d
60
61
  puts "Generated: #{filename} \n Contents: #{dist}"
61
62
 
62
63
  puts "Putting #{filename} on Google Cloud Storage"
63
- return @bucket.create_file filename "scripts/#{filename}"
64
+ @bucket.create_file filename, "scripts/#{filename}"
64
65
  end
65
66
 
66
- def self.put_production_yaml(filename)
67
+ def put_production_yaml(filename)
67
68
  puts "Putting #{filename} on Google Cloud Storage"
68
- return @bucket.create_file filename "docker-compose/#{filename}"
69
+
70
+ @bucket.create_file filename, "docker-compose/#{filename}"
69
71
  end
70
72
 
71
- def self.make_latest_production_yaml(duty)
73
+ def make_latest_production_yaml(duty)
72
74
  existing_file = @bucket.find_file "docker-compose/#{self.get_yaml_filename(duty)}"
73
75
 
74
76
  puts "Making #{existing_file} latest"
@@ -1,7 +1,12 @@
1
1
  class Infrastructure
2
2
 
3
- def self.google_cloud_platform(project_name, app_name, credentials=nil)
4
- GoogleCloudPlatform(project_name, app_name, credentials)
3
+ def self.google_cloud_platform(project_name, app_name)
4
+ credentials = ENV['GOOGLE_CLOUD_KEYFILE']
5
+ unless credentials
6
+ puts 'Google Cloud credentials file not set. Run export GOOGLE_CLOUD_KEYFILE=<your_keyfile>.json'
7
+ exit 1
8
+ end
9
+ GoogleCloudPlatform.new(project_name, app_name, credentials)
5
10
  end
6
11
  end
7
12
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-deploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - VJ Patel