gantree 0.4.5 → 0.4.6
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 +4 -4
- data/Gemfile +1 -3
- data/lib/gantree/base.rb +7 -0
- data/lib/gantree/cli.rb +18 -1
- data/lib/gantree/deploy.rb +2 -0
- data/lib/gantree/docker.rb +10 -14
- data/lib/gantree/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff66472c33546db57fb72859e6c1d0d914d45aec
|
4
|
+
data.tar.gz: a239a2c814966bfe9978291d219449d3352ba51f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bedf8c651dc799fd32d75f7ccbde70cb496d783b15f68013ad60c90c7f15c34eb0bb7e705d4098472e7119a3aa53417bb63bcd5517453c53555b2496c025279d
|
7
|
+
data.tar.gz: f4ed2f47b20d2177669d6516ed85ef5a9c51ab78a47aad295828a7ebc69ae519d1c4abe8d8bb44b663f594d7c84924b6a030aba384bb3a46653abefaf9099fe1
|
data/Gemfile
CHANGED
data/lib/gantree/base.rb
CHANGED
@@ -25,6 +25,13 @@ module Gantree
|
|
25
25
|
def eb
|
26
26
|
@eb ||= AWS::ElasticBeanstalk::Client.new
|
27
27
|
end
|
28
|
+
|
29
|
+
def tag
|
30
|
+
origin = `git remote show origin | grep "Push" | cut -f1 -d"/" | cut -d":" -f3`.strip
|
31
|
+
branch = `git rev-parse --abbrev-ref HEAD`.strip
|
32
|
+
hash = `git rev-parse --verify --short #{branch}`.strip
|
33
|
+
"#{origin}-#{branch}-#{hash}"
|
34
|
+
end
|
28
35
|
end
|
29
36
|
end
|
30
37
|
|
data/lib/gantree/cli.rb
CHANGED
@@ -9,7 +9,6 @@ module Gantree
|
|
9
9
|
desc "deploy APP", "deploy specified APP"
|
10
10
|
option :branch, :desc => 'branch to deploy'
|
11
11
|
method_option :tag, :aliases => "-t", :desc => "set docker tag to deploy"
|
12
|
-
method_option :env, :aliases => "-e", :desc => "elastic beanstalk environment"
|
13
12
|
method_option :ext, :aliases => "-x", :desc => "ebextensions folder/repo"
|
14
13
|
option :dry_run, :aliases => "-d", :desc => "do not actually deploy the app"
|
15
14
|
option :silent, :aliases => "-s", :desc => "mute notifications"
|
@@ -60,6 +59,7 @@ module Gantree
|
|
60
59
|
end
|
61
60
|
|
62
61
|
desc "build", "build and tag a docker application"
|
62
|
+
option :tag, :aliases => "-t", :desc => "set docker tag to build"
|
63
63
|
option :hub, :aliases => "-h", :desc => "hub (docker|quay)"
|
64
64
|
def build
|
65
65
|
Gantree::Docker.new(merge_defaults(options)).build
|
@@ -67,6 +67,7 @@ module Gantree
|
|
67
67
|
|
68
68
|
desc "push", "build and tag a docker application"
|
69
69
|
option :hub, :aliases => "-h", :desc => "hub (docker|quay)"
|
70
|
+
option :tag, :aliases => "-t", :desc => "set docker tag to push"
|
70
71
|
def push
|
71
72
|
Gantree::Docker.new(merge_defaults(options)).push
|
72
73
|
end
|
@@ -76,6 +77,22 @@ module Gantree
|
|
76
77
|
puts Gantree::Docker.new(merge_defaults(options)).tag
|
77
78
|
end
|
78
79
|
|
80
|
+
desc "shipit", "tag a docker application"
|
81
|
+
option :branch, :desc => 'branch to deploy'
|
82
|
+
option :tag, :aliases => "-t", :desc => "set docker tag to deploy", :default => Gantree::Base.new.tag
|
83
|
+
option :ext, :aliases => "-x", :desc => "ebextensions folder/repo"
|
84
|
+
option :dry_run, :aliases => "-d", :desc => "do not actually deploy the app"
|
85
|
+
option :silent, :aliases => "-s", :desc => "mute notifications"
|
86
|
+
option :autodetect_app_role, :desc => "use naming convention to determin role"
|
87
|
+
option :hub, :aliases => "-h", :desc => "hub (docker|quay)"
|
88
|
+
option :hush, :desc => "quite puts messages", :default => true
|
89
|
+
def shipit server
|
90
|
+
docker = Gantree::Docker.new(merge_defaults(options))
|
91
|
+
docker.build
|
92
|
+
docker.push
|
93
|
+
Gantree::Deploy.new(server, merge_defaults(options)).run
|
94
|
+
end
|
95
|
+
|
79
96
|
protected
|
80
97
|
|
81
98
|
def merge_defaults(options={})
|
data/lib/gantree/deploy.rb
CHANGED
@@ -68,6 +68,7 @@ module Gantree
|
|
68
68
|
return true
|
69
69
|
end
|
70
70
|
end
|
71
|
+
|
71
72
|
def deploy(envs)
|
72
73
|
print_options
|
73
74
|
check_dir_name(envs) unless @options[:force]
|
@@ -83,6 +84,7 @@ module Gantree
|
|
83
84
|
Notification.new(@options[:slack]).say(msg) unless @options[:silent]
|
84
85
|
end
|
85
86
|
end
|
87
|
+
|
86
88
|
def upload_to_s3
|
87
89
|
key = File.basename(@packaged_version)
|
88
90
|
check_version_bucket
|
data/lib/gantree/docker.rb
CHANGED
@@ -9,40 +9,36 @@ module Gantree
|
|
9
9
|
@options = options
|
10
10
|
@hub = @options[:hub]
|
11
11
|
raise "Please provide a hub name in your .gantreecfg ex { hub : 'bleacher' }" unless @hub
|
12
|
-
@origin = `git remote show origin | grep "Push" | cut -f1 -d"/" | cut -d":" -f3`.strip
|
13
12
|
@repo = `basename $(git rev-parse --show-toplevel)`.strip
|
14
|
-
@
|
15
|
-
@hash = `git rev-parse --verify --short #{@branch}`.strip
|
13
|
+
@tag = @options[:tag] ||= tag
|
16
14
|
end
|
17
15
|
|
18
16
|
def build
|
19
17
|
puts "Building..."
|
20
|
-
output = `docker build -t #{@hub}/#{@repo}:#{@
|
18
|
+
output = `docker build -t #{@hub}/#{@repo}:#{@tag} .`
|
21
19
|
if $?.success?
|
22
|
-
puts "Image Built: #{@hub}/#{@repo}:#{tag}".green
|
23
|
-
puts "docker push #{@hub}/#{@repo}:#{tag}"
|
24
|
-
puts "gantree deploy app_name -t #{tag}"
|
20
|
+
puts "Image Built: #{@hub}/#{@repo}:#{@tag}".green
|
21
|
+
puts "docker push #{@hub}/#{@repo}:#{@tag}" unless @options[:hush]
|
22
|
+
puts "gantree deploy app_name -t #{@tag}" unless @options[:hush]
|
25
23
|
else
|
26
24
|
puts "Error: Image was not built successfully".red
|
27
25
|
puts "#{output}"
|
26
|
+
exit 1
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
31
30
|
def push
|
32
31
|
puts "Pushing..."
|
33
|
-
output = `docker push #{@hub}/#{@repo}:#{tag}`
|
32
|
+
output = `docker push #{@hub}/#{@repo}:#{@tag}`
|
34
33
|
if $?.success?
|
35
|
-
puts "Image Pushed: #{@hub}/#{@repo}:#{tag}".green
|
36
|
-
puts "gantree deploy app_name -t #{tag}"
|
34
|
+
puts "Image Pushed: #{@hub}/#{@repo}:#{@tag}".green
|
35
|
+
puts "gantree deploy app_name -t #{@tag}" unless @options[:hush]
|
37
36
|
else
|
38
37
|
puts "Error: Image was not pushed successfully".red
|
39
38
|
puts "#{output}"
|
39
|
+
exit 1
|
40
40
|
end
|
41
41
|
end
|
42
|
-
|
43
|
-
def tag
|
44
|
-
"#{@origin}-#{@branch}-#{@hash}"
|
45
|
-
end
|
46
42
|
end
|
47
43
|
end
|
48
44
|
|
data/lib/gantree/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gantree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|