dpl-bluemix_cloud_foundry 1.9.0
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
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 107780553fd7c9a1444811409f2b893844813f83
|
4
|
+
data.tar.gz: 5247ea585599aba40560374eccc0b357691b9812
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ba5fa5d4d9774785c897f69e243ff439ba437c4c42d59d36a89df1f2320188e88e701b7e9a6a1001b5b2bd7c402e61e9196eb7b8079dd7d112f585ac57cec2c9
|
7
|
+
data.tar.gz: 02bb5d11cf05056018adcad3e0978d93656dbad9438bd16d33dde17c8186ae0d581aca6bad691e6bdd42b5dcfcb48b61b2843bc59f364490de36d6c6d0e785da
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module DPL
|
2
|
+
class Provider
|
3
|
+
class BluemixCloudFoundry < Provider
|
4
|
+
|
5
|
+
# NOTE: Much of this class is duplicated from CloudFoundry.
|
6
|
+
# This is by design. By duplicating a manageable amount of
|
7
|
+
# code here, we prevent this provider and its gem `dpl-bluemix_cloud_foundry`
|
8
|
+
# from having a dependency on `dpl-cloudfoundry`.
|
9
|
+
# Having less dependency is desirable when we install this gem
|
10
|
+
# from source.
|
11
|
+
|
12
|
+
REGIONS = Hash.new {"api.ng.bluemix.net"}.update(
|
13
|
+
"eu-gb" => "api.eu-gb.bluemix.net",
|
14
|
+
"eu-de" => "api.eu-de.bluemix.net",
|
15
|
+
"au-syd" => "api.au-syd.bluemix.net"
|
16
|
+
)
|
17
|
+
|
18
|
+
def initial_go_tools_install
|
19
|
+
context.shell 'test x$TRAVIS_OS_NAME = "xlinux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz'
|
20
|
+
end
|
21
|
+
|
22
|
+
def check_auth
|
23
|
+
set_api
|
24
|
+
initial_go_tools_install
|
25
|
+
context.shell "./cf api #{option(:api)} #{'--skip-ssl-validation' if options[:skip_ssl_validation]}"
|
26
|
+
context.shell "./cf login -u #{option(:username)} -p #{option(:password)} -o #{option(:organization)} -s #{option(:space)}"
|
27
|
+
end
|
28
|
+
|
29
|
+
def check_app
|
30
|
+
if options[:manifest]
|
31
|
+
error 'Application must have a manifest.yml for unattended deployment' unless File.exists? options[:manifest]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def needs_key?
|
36
|
+
false
|
37
|
+
end
|
38
|
+
|
39
|
+
def push_app
|
40
|
+
error 'Failed to push app' unless context.shell("./cf push#{manifest}")
|
41
|
+
|
42
|
+
ensure
|
43
|
+
context.shell "./cf logout"
|
44
|
+
end
|
45
|
+
|
46
|
+
def cleanup
|
47
|
+
end
|
48
|
+
|
49
|
+
def uncleanup
|
50
|
+
end
|
51
|
+
|
52
|
+
def manifest
|
53
|
+
options[:manifest].nil? ? "" : " -f #{options[:manifest]}"
|
54
|
+
end
|
55
|
+
|
56
|
+
def set_api
|
57
|
+
region = options[:region] || "ng"
|
58
|
+
options[:api] = options[:api] || REGIONS[region]
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'dpl/provider/bluemix_cloud_foundry'
|
3
|
+
|
4
|
+
describe DPL::Provider::BluemixCloudFoundry do
|
5
|
+
subject :provider do
|
6
|
+
described_class.new(DummyContext.new, region: 'eu-gb', username: 'Moonpie',
|
7
|
+
password: 'myexceptionallyaveragepassword',
|
8
|
+
organization: 'myotherorg',
|
9
|
+
space: 'inner',
|
10
|
+
manifest: 'worker-manifest.yml',
|
11
|
+
skip_ssl_validation: true)
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "#check_auth" do
|
15
|
+
example do
|
16
|
+
expect(provider.context).to receive(:shell).with('test x$TRAVIS_OS_NAME = "xlinux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz')
|
17
|
+
expect(provider.context).to receive(:shell).with('./cf api api.eu-gb.bluemix.net --skip-ssl-validation')
|
18
|
+
expect(provider.context).to receive(:shell).with('./cf login -u Moonpie -p myexceptionallyaveragepassword -o myotherorg -s inner')
|
19
|
+
provider.check_auth
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dpl-bluemix_cloud_foundry
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.9.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Konstantin Haase
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-03-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: dpl
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.9.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.9.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec-its
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: json_pure
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: tins
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: highline
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: deploy tool abstraction for clients
|
126
|
+
email: konstantin.mailinglists@googlemail.com
|
127
|
+
executables: []
|
128
|
+
extensions: []
|
129
|
+
extra_rdoc_files: []
|
130
|
+
files:
|
131
|
+
- dpl-bluemix_cloud_foundry.gemspec
|
132
|
+
- lib/dpl/provider/bluemix_cloud_foundry.rb
|
133
|
+
- spec/provider/bluemix_cloud_foundry_spec.rb
|
134
|
+
homepage: https://github.com/travis-ci/dpl
|
135
|
+
licenses:
|
136
|
+
- MIT
|
137
|
+
metadata: {}
|
138
|
+
post_install_message:
|
139
|
+
rdoc_options: []
|
140
|
+
require_paths:
|
141
|
+
- lib
|
142
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '2.2'
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
requirements: []
|
153
|
+
rubyforge_project:
|
154
|
+
rubygems_version: 2.6.13
|
155
|
+
signing_key:
|
156
|
+
specification_version: 4
|
157
|
+
summary: deploy tool
|
158
|
+
test_files:
|
159
|
+
- spec/provider/bluemix_cloud_foundry_spec.rb
|