gantree 0.1.3 → 0.1.4
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 -0
- data/Gemfile.lock +4 -0
- data/Guardfile +2 -2
- data/README.md +1 -0
- data/lib/gantree/deploy.rb +5 -5
- data/lib/gantree/version.rb +1 -1
- data/spec/lib/cli_spec.rb +9 -1
- data/spec/lib/deploy_spec.rb +28 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f48e2e22a4ed8c5c3f2bbeae9e2625c3392addb
|
4
|
+
data.tar.gz: 837ccf109dbdb37e60c8bf4ec81f9a3091020e14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e6e2bf6e3916fa30814bbdf3d0201a95bfc19323014707dba2403eeb1f10064f6415ce3f0e3bbb264a92e9d91275c01aecf90c29365dbfcb7c7b595e22e6a0b
|
7
|
+
data.tar.gz: 2f898c102abe776eb5ab8dbe71bd9ecf1e6a8278b79ca061232a8bf3739147d0459f000c1c54cd0051e318b1c05071d397f97fa26a8e3639b805304ff4764f82
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -29,6 +29,9 @@ GEM
|
|
29
29
|
lumberjack (~> 1.0)
|
30
30
|
pry (>= 0.9.12)
|
31
31
|
thor (>= 0.18.1)
|
32
|
+
guard-bundler (2.0.0)
|
33
|
+
bundler (~> 1.0)
|
34
|
+
guard (~> 2.2)
|
32
35
|
guard-rspec (4.3.1)
|
33
36
|
guard (~> 2.1)
|
34
37
|
rspec (>= 2.14, < 4.0)
|
@@ -86,6 +89,7 @@ DEPENDENCIES
|
|
86
89
|
cloudformation-ruby-dsl
|
87
90
|
codeclimate-test-reporter
|
88
91
|
guard
|
92
|
+
guard-bundler
|
89
93
|
guard-rspec
|
90
94
|
json
|
91
95
|
rake
|
data/Guardfile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
guard :rspec, cmd: 'bundle exec rspec' do
|
2
2
|
watch(%r{^spec/.+_spec\.rb$})
|
3
|
-
watch(%r{^lib/(.+)\.rb$}) { "spec/
|
4
|
-
watch(%r{^lib/gantree/(.+)\.rb$}) { "spec/
|
3
|
+
watch(%r{^lib/(.+)\.rb$}) { "spec/cli_spec.rb" }
|
4
|
+
watch(%r{^lib/gantree/(.+)\.rb$}) { "spec/cli_spec.rb" }
|
5
5
|
watch('spec/spec_helper.rb') { "spec/gantree_spec.rb" }
|
6
6
|
watch(%r{^lib/gantree/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
7
|
end
|
data/README.md
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
[](https://travis-ci.org/feelobot/gantree)
|
4
4
|
[](https://codeclimate.com/github/feelobot/gantree)
|
5
5
|
[](https://codeclimate.com/github/feelobot/gantree)
|
6
|
+
[](http://badge.fury.io/rb/gantree)
|
6
7
|
## Why Gantree?
|
7
8
|
|
8
9
|
The name is derived from the word gantry which is a large crane used in ports to pick up shipping containers and load them on a ship. Gantry was already taken so I spelled it "tree" because the primary use is for elastic beanstalk and I guess a beanstalk is a form of tree?
|
data/lib/gantree/deploy.rb
CHANGED
@@ -14,7 +14,6 @@ module Gantree
|
|
14
14
|
@env = app
|
15
15
|
@eb = AWS::ElasticBeanstalk::Client.new
|
16
16
|
@s3 = AWS::S3.new
|
17
|
-
@tag = options.tag
|
18
17
|
end
|
19
18
|
|
20
19
|
def run
|
@@ -79,7 +78,7 @@ module Gantree
|
|
79
78
|
version = "#{@env}-#{hash}"
|
80
79
|
puts "version: #{version}"
|
81
80
|
dockerrun = "Dockerrun.aws.json"
|
82
|
-
set_tag_to_deploy(dockerrun) if @tag
|
81
|
+
set_tag_to_deploy(dockerrun) if @options[:tag]
|
83
82
|
unless ext?
|
84
83
|
new_dockerrun = "#{version}-Dockerrun.aws.json"
|
85
84
|
FileUtils.cp("Dockerrun.aws.json", new_dockerrun)
|
@@ -94,7 +93,7 @@ module Gantree
|
|
94
93
|
|
95
94
|
def set_tag_to_deploy file
|
96
95
|
docker = JSON.parse(IO.read(file))
|
97
|
-
docker["Image"]["Name"].gsub!(/:(.*)$/, ":#{@tag}")
|
96
|
+
docker["Image"]["Name"].gsub!(/:(.*)$/, ":#{@options[:tag]}")
|
98
97
|
IO.write(file,JSON.pretty_generate(docker))
|
99
98
|
end
|
100
99
|
|
@@ -120,7 +119,7 @@ module Gantree
|
|
120
119
|
|
121
120
|
def get_ext_repo
|
122
121
|
if ext_branch?
|
123
|
-
repo = @ext.sub
|
122
|
+
repo = @ext.sub(":#{get_ext_branch}", '')
|
124
123
|
else
|
125
124
|
@ext
|
126
125
|
end
|
@@ -135,7 +134,8 @@ module Gantree
|
|
135
134
|
end
|
136
135
|
|
137
136
|
def get_ext_branch
|
138
|
-
branch = @ext.match(/:.*(:.*)$/)[
|
137
|
+
branch = @ext.match(/:.*(:.*)$/)[1]
|
138
|
+
branch.tr(':','')
|
139
139
|
end
|
140
140
|
|
141
141
|
def clone_repo
|
data/lib/gantree/version.rb
CHANGED
data/spec/lib/cli_spec.rb
CHANGED
@@ -34,6 +34,14 @@ describe Gantree::CLI do
|
|
34
34
|
out = execute("bin/gantree deploy #{@env}")
|
35
35
|
expect(out).to include("Deploying")
|
36
36
|
end
|
37
|
+
it "should deploy images with remote extensions" do
|
38
|
+
out = execute("bin/gantree deploy #{@env} -x 'git@github.com:br/.ebextensions'")
|
39
|
+
expect(out).to include("Deploying")
|
40
|
+
end
|
41
|
+
it "should deploy images with remote extensions on a branch" do
|
42
|
+
out = execute("bin/gantree deploy #{@env} -x 'git@github.com:br/.ebextensions:feature'")
|
43
|
+
expect(out).to include("Deploying")
|
44
|
+
end
|
37
45
|
end
|
38
46
|
|
39
47
|
describe "create" do
|
@@ -42,4 +50,4 @@ describe Gantree::CLI do
|
|
42
50
|
expect(out).to include "All templates created"
|
43
51
|
end
|
44
52
|
end
|
45
|
-
end
|
53
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../../lib/gantree/deploy'
|
3
|
+
|
4
|
+
describe "#Deploy" do
|
5
|
+
before(:all) do
|
6
|
+
@env = "stag-app-knarr-s1"
|
7
|
+
@owner = "bleacher"
|
8
|
+
@repo = "cauldron"
|
9
|
+
@tag = "master"
|
10
|
+
@user = "feelobot"
|
11
|
+
end
|
12
|
+
|
13
|
+
describe ".get_ext_branch" do
|
14
|
+
it "returns branch name of repo url" do
|
15
|
+
options = { ext: "git@github.com:br/.ebextensions:feature" }
|
16
|
+
deploy = Gantree::Deploy.new(@env,options)
|
17
|
+
expect(deploy.instance_eval { get_ext_branch }).to eq "feature"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe ".get_ext_repo" do
|
22
|
+
it "returns just the repo url" do
|
23
|
+
options = { ext: "git@github.com:br/.ebextensions:feature" }
|
24
|
+
deploy = Gantree::Deploy.new(@env,options)
|
25
|
+
puts deploy.instance_eval { get_ext_repo }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gantree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix
|
@@ -222,6 +222,7 @@ files:
|
|
222
222
|
- lib/gantree/init.rb
|
223
223
|
- lib/gantree/version.rb
|
224
224
|
- spec/lib/cli_spec.rb
|
225
|
+
- spec/lib/deploy_spec.rb
|
225
226
|
- spec/spec_helper.rb
|
226
227
|
homepage: https://github.com/feelobot/gantree
|
227
228
|
licenses:
|
@@ -252,4 +253,5 @@ summary: This tool is intended to help you setup a Dockerrun.aws.json which allo
|
|
252
253
|
an archive of every versioned Dockerrun.aws.json in amazons s3 bucket service.
|
253
254
|
test_files:
|
254
255
|
- spec/lib/cli_spec.rb
|
256
|
+
- spec/lib/deploy_spec.rb
|
255
257
|
- spec/spec_helper.rb
|