eb_deployer 0.3.4 → 0.3.5

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.
@@ -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.extname(package) == '.yml'
15
- YAML.load(File.read(package))
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
- package = Package.new(package, @bucket + ".packages", @s3_driver)
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)
@@ -1,3 +1,3 @@
1
1
  module EbDeployer
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
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, for example a war file for java application or yaml specification for package location on s3, see -h for format") do |v|
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
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-07 00:00:00.000000000 Z
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
- - ".gitignore"
38
- - ".ruby-gemset"
39
- - ".ruby-version"
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: 2.2.2
93
+ rubygems_version: 1.8.23
90
94
  signing_key:
91
- specification_version: 4
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