eb_deployer 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/eb_deployer/application.rb +12 -5
- data/lib/eb_deployer/version.rb +1 -1
- data/lib/eb_deployer.rb +2 -1
- data/test/deploy_test.rb +12 -0
- metadata +17 -12
- checksums.yaml +0 -7
@@ -11,12 +11,19 @@ module EbDeployer
|
|
11
11
|
def create_version(version_label, package)
|
12
12
|
create_application_if_not_exists
|
13
13
|
|
14
|
-
source_bundle = if File.
|
15
|
-
|
14
|
+
source_bundle = if File.exists?(package)
|
15
|
+
if File.extname(package) == '.yml'
|
16
|
+
YAML.load(File.read(package))
|
17
|
+
else
|
18
|
+
package = Package.new(package, @bucket + ".packages", @s3_driver)
|
19
|
+
package.upload
|
20
|
+
package.source_bundle
|
21
|
+
end
|
22
|
+
elsif package =~ /:/
|
23
|
+
bucket, obj_key = package.split(':')
|
24
|
+
{'s3_bucket' => bucket, 's3_key' => obj_key}
|
16
25
|
else
|
17
|
-
|
18
|
-
package.upload
|
19
|
-
package.source_bundle
|
26
|
+
raise "Unknown package file/format: #{package.inspect}"
|
20
27
|
end
|
21
28
|
|
22
29
|
unless @eb_driver.application_version_labels(@name).include?(version_label)
|
data/lib/eb_deployer/version.rb
CHANGED
data/lib/eb_deployer.rb
CHANGED
@@ -270,7 +270,7 @@ module EbDeployer
|
|
270
270
|
def self.cli_parser(options)
|
271
271
|
OptionParser.new do |opts|
|
272
272
|
opts.banner = "Usage: eb_deployer [options]"
|
273
|
-
opts.on("-p", "--package [FILE]", "Package to deploy,
|
273
|
+
opts.on("-p", "--package [FILE/S3_OBJECT]", "Package to deploy, can be a war file for java application, or yaml specification for package location on S3, or a S3 object with bucket name saperated by colon, e.g. bucket_name:key_name") do |v|
|
274
274
|
options[:package] = v
|
275
275
|
end
|
276
276
|
|
@@ -309,6 +309,7 @@ module EbDeployer
|
|
309
309
|
opts.on("-h", "--help", "help") do
|
310
310
|
puts opts
|
311
311
|
puts ""
|
312
|
+
puts "S3 object package format: s3_bucket_name:s3_object_key"
|
312
313
|
puts "YAML package file format:"
|
313
314
|
puts "s3_bucket: <bucket_name>"
|
314
315
|
puts "s3_key: <object_path>"
|
data/test/deploy_test.rb
CHANGED
@@ -419,6 +419,18 @@ class DeployTest < MiniTest::Unit::TestCase
|
|
419
419
|
end
|
420
420
|
end
|
421
421
|
|
422
|
+
def test_pass_s3_object_name_as_package_file
|
423
|
+
package_name = 'test-bucket:test-mingle.war'
|
424
|
+
|
425
|
+
deploy(:package => package_name,
|
426
|
+
:application => 'simple',
|
427
|
+
:environment => "production",
|
428
|
+
:version_label => 1)
|
429
|
+
|
430
|
+
assert @eb_driver.application_exists?('simple')
|
431
|
+
last_version = @eb_driver.application_versions('simple').last
|
432
|
+
assert_equal({'s3_bucket' => 'test-bucket', 's3_key' => 'test-mingle.war'}, last_version[:source_bundle])
|
433
|
+
end
|
422
434
|
|
423
435
|
private
|
424
436
|
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eb_deployer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- wpc
|
@@ -9,20 +10,22 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2014-03-
|
13
|
+
date: 2014-03-10 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: aws-sdk
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
|
-
- -
|
20
|
+
- - ! '>='
|
19
21
|
- !ruby/object:Gem::Version
|
20
22
|
version: '0'
|
21
23
|
type: :runtime
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
24
27
|
requirements:
|
25
|
-
- -
|
28
|
+
- - ! '>='
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: '0'
|
28
31
|
description: For automating Blue-Green deployment flows on Elastic Beanstalk.
|
@@ -34,9 +37,9 @@ executables:
|
|
34
37
|
extensions: []
|
35
38
|
extra_rdoc_files: []
|
36
39
|
files:
|
37
|
-
-
|
38
|
-
-
|
39
|
-
-
|
40
|
+
- .gitignore
|
41
|
+
- .ruby-gemset
|
42
|
+
- .ruby-version
|
40
43
|
- Gemfile
|
41
44
|
- LICENSE
|
42
45
|
- README.md
|
@@ -69,26 +72,27 @@ files:
|
|
69
72
|
homepage: https://github.com/ThoughtWorksStudios/eb_deployer
|
70
73
|
licenses:
|
71
74
|
- MIT
|
72
|
-
metadata: {}
|
73
75
|
post_install_message:
|
74
76
|
rdoc_options: []
|
75
77
|
require_paths:
|
76
78
|
- lib
|
77
79
|
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
78
81
|
requirements:
|
79
|
-
- -
|
82
|
+
- - ! '>='
|
80
83
|
- !ruby/object:Gem::Version
|
81
84
|
version: '0'
|
82
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
83
87
|
requirements:
|
84
|
-
- -
|
88
|
+
- - ! '>='
|
85
89
|
- !ruby/object:Gem::Version
|
86
90
|
version: '0'
|
87
91
|
requirements: []
|
88
92
|
rubyforge_project:
|
89
|
-
rubygems_version:
|
93
|
+
rubygems_version: 1.8.23
|
90
94
|
signing_key:
|
91
|
-
specification_version:
|
95
|
+
specification_version: 3
|
92
96
|
summary: Low friction deployments should be a breeze. Elastic Beanstalk provides a
|
93
97
|
great foundation for performing Blue-Green deployments, and EbDeployer add a missing
|
94
98
|
top to automate the whole flow out of the box.
|
@@ -100,3 +104,4 @@ test_files:
|
|
100
104
|
- test/environment_test.rb
|
101
105
|
- test/smoke_test_test.rb
|
102
106
|
- test/test_helper.rb
|
107
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: db0cf300a1d06c7b6ed063eef7ef69c7cab8d025
|
4
|
-
data.tar.gz: 5acf245e16a6c1ce4b4d35ad1d1544d5185b2329
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 35071cab562e78eae3485b15b2d81d328c5ae5618ea5fdc56dd7b8d7335bca0aa5c8937547b3474fe9194175ab093f75b2bca139b58740bb737da23ad7ae37f9
|
7
|
-
data.tar.gz: 9a4f03e8d7a4a0a769e749d4d191b9feeec7def2ad598ffa41b36e72191dad9b46964efc8b9e5d8b37670678d322eaec57f46e640813dcafe5ad07065808e8e6
|