dpl 1.7.3.travis.597.1 → 1.7.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,97 @@
1
+ require 'json'
2
+
3
+ module DPL
4
+ class Provider
5
+ class CodeDeploy < Provider
6
+ requires 'aws-sdk-core', pre: true
7
+
8
+ def code_deploy
9
+ @code_deploy ||= begin
10
+ Aws.add_service('CodeDeploy', api: File.expand_path("../CodeDeploy.api.json", __FILE__)) unless defined? Aws::CodeDeploy
11
+ Aws::CodeDeploy::Client.new(code_deploy_options)
12
+ end
13
+ end
14
+
15
+ def code_deploy_options
16
+ code_deploy_options = {
17
+ region: options[:region] || 'us-east-1',
18
+ credentials: Aws::Credentials.new(option(:access_key_id), option(:secret_access_key))
19
+ }
20
+ code_deploy_options[:endpoint] = options[:endpoint] if options[:endpoint]
21
+ code_deploy_options
22
+ end
23
+
24
+ def needs_key?
25
+ false
26
+ end
27
+
28
+ def revision
29
+ case options[:revision_type].to_s.downcase
30
+ when "s3" then s3_revision
31
+ when "github" then github_revision
32
+ when "" then options[:bucket] ? s3_revision : github_revision
33
+ else error("unknown revision type %p" % options[:revision_type])
34
+ end
35
+ end
36
+
37
+ def s3_revision
38
+ {
39
+ revision_type: 'S3',
40
+ s3_location: {
41
+ bucket: option(:bucket),
42
+ bundle_type: bundle_type,
43
+ key: s3_key
44
+ }
45
+ }
46
+ end
47
+
48
+ def github_revision
49
+ {
50
+ revision_type: 'GitHub',
51
+ git_hub_location: {
52
+ commit_id: options[:commit_id] || ENV['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip,
53
+ repository: options[:repository] || ENV['TRAVIS_REPO_SLUG'] || option(:repository)
54
+ }
55
+ }
56
+ end
57
+
58
+ def push_app
59
+ deployment = code_deploy.create_deployment({
60
+ revision: revision,
61
+ application_name: options[:application] || option(:application_name),
62
+ deployment_group_name: options[:deployment_group] || option(:deployment_group_name),
63
+ description: options[:description] || default_description
64
+ })
65
+ log "Triggered deployment #{deployment.deployment_id.inspect}."
66
+ rescue Aws::CodeDeploy::Errors::DeploymentLimitExceededException => exception
67
+ error(exception.message)
68
+ end
69
+
70
+ def bundle_type
71
+ if s3_key =~ /\.(tar|tgz|zip)$/
72
+ options[:bundle_type] || $1
73
+ else
74
+ option(:bundle_type)
75
+ end
76
+ end
77
+
78
+ def s3_key
79
+ options[:key] || option(:s3_key)
80
+ end
81
+
82
+ def default_description
83
+ "Deploy build #{ENV['TRAVIS_BUILD_NUMBER']} via Travis CI"
84
+ end
85
+
86
+ def check_auth
87
+ log "Logging in with Access Key: #{option(:access_key_id)[-4..-1].rjust(20, '*')}"
88
+ end
89
+
90
+ def cleanup
91
+ end
92
+
93
+ def uncleanup
94
+ end
95
+ end
96
+ end
97
+ end
@@ -1,3 +1,3 @@
1
1
  module DPL
2
- VERSION = '1.7.2'
2
+ VERSION = '1.7.3'
3
3
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dpl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.3.travis.597.1
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-11 00:00:00.000000000 Z
11
+ date: 2014-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.0.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec-its
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simplecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: json
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: deploy tool abstraction for clients
@@ -87,9 +87,9 @@ executables:
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
91
- - .rspec
92
- - .travis.yml
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".travis.yml"
93
93
  - Gemfile
94
94
  - LICENSE
95
95
  - README.md
@@ -99,6 +99,7 @@ files:
99
99
  - lib/dpl/cli.rb
100
100
  - lib/dpl/error.rb
101
101
  - lib/dpl/provider.rb
102
+ - lib/dpl/provider/CodeDeploy.api.json
102
103
  - lib/dpl/provider/appfog.rb
103
104
  - lib/dpl/provider/biicode.rb
104
105
  - lib/dpl/provider/bitballoon.rb
@@ -106,6 +107,7 @@ files:
106
107
  - lib/dpl/provider/cloud_files.rb
107
108
  - lib/dpl/provider/cloud_foundry.rb
108
109
  - lib/dpl/provider/cloudcontrol.rb
110
+ - lib/dpl/provider/code_deploy.rb
109
111
  - lib/dpl/provider/deis.rb
110
112
  - lib/dpl/provider/divshot.rb
111
113
  - lib/dpl/provider/dot_cloud.rb
@@ -174,18 +176,49 @@ require_paths:
174
176
  - lib
175
177
  required_ruby_version: !ruby/object:Gem::Requirement
176
178
  requirements:
177
- - - ! '>='
179
+ - - ">="
178
180
  - !ruby/object:Gem::Version
179
181
  version: 1.9.3
180
182
  required_rubygems_version: !ruby/object:Gem::Requirement
181
183
  requirements:
182
- - - ! '>'
184
+ - - ">="
183
185
  - !ruby/object:Gem::Version
184
- version: 1.3.1
186
+ version: '0'
185
187
  requirements: []
186
188
  rubyforge_project:
187
- rubygems_version: 2.4.2
189
+ rubygems_version: 2.2.2
188
190
  signing_key:
189
191
  specification_version: 4
190
192
  summary: deploy tool
191
- test_files: []
193
+ test_files:
194
+ - spec/cli_spec.rb
195
+ - spec/provider/appfog_spec.rb
196
+ - spec/provider/bitballoon_spec.rb
197
+ - spec/provider/cloud66_spec.rb
198
+ - spec/provider/cloud_files_spec.rb
199
+ - spec/provider/cloudcontrol_spec.rb
200
+ - spec/provider/cloudfoundry_spec.rb
201
+ - spec/provider/deis_spec.rb
202
+ - spec/provider/divshot_spec.rb
203
+ - spec/provider/dotcloud_spec.rb
204
+ - spec/provider/elastic_beanstalk_spec.rb
205
+ - spec/provider/gae_spec.rb
206
+ - spec/provider/gcs_spec.rb
207
+ - spec/provider/hackage_spec.rb
208
+ - spec/provider/heroku_anvil_spec.rb
209
+ - spec/provider/heroku_api_spec.rb
210
+ - spec/provider/heroku_git_deploy_key_spec.rb
211
+ - spec/provider/heroku_git_spec.rb
212
+ - spec/provider/modulus_spec.rb
213
+ - spec/provider/ninefold_spec.rb
214
+ - spec/provider/npm.rb
215
+ - spec/provider/openshift_spec.rb
216
+ - spec/provider/ops_works_spec.rb
217
+ - spec/provider/puppet_forge_spec.rb
218
+ - spec/provider/pypi_spec.rb
219
+ - spec/provider/releases_spec.rb
220
+ - spec/provider/rubygems_spec.rb
221
+ - spec/provider/s3_spec.rb
222
+ - spec/provider_spec.rb
223
+ - spec/spec_helper.rb
224
+ has_rdoc: