gantree 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|