dpl 1.7.20.travis.951.4 → 1.7.20.travis.952.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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzcyY2JjZDdjODU0MjRmMDc4OWQ0YjAxZTdlZjZmYjY4NGM3NjJkMQ==
4
+ YmY2YmUyZTkxZTM5ZjY0ZjlmZjhiMTE5MGZkYzc3YjRhNThmMzg5NQ==
5
5
  data.tar.gz: !binary |-
6
- MzY4NTYzMDAwMmU2OWU1MTA5Y2FmNWY5MDUwNmQyMjhlMTNkNGYyOQ==
6
+ ZDk3N2M3YTZiZGExZTM5NTJhZGEwNTIyNzVhNjA4OWJlZmIzM2Q5NQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- N2ExYWQ1M2JkYmIyMzgyYjE2NDhlMmM0ODM2YWZiYzQxNDFmMGMwNDVhNTI4
10
- Mjc5MGQ2YzVhNjIzMmU4YTdmMDM1YzE1NTk1YzNmYTQzZDMxMDUwOWRlMDA5
11
- Y2M0MTE2YmZiMTFiZjRjZTk3OGNhZDVmNzY4NjdjNzJjM2NmNTQ=
9
+ YjdjMWQxNmEzMDdiM2UwYTNhOTc0YjllOTUzYjBmZTA4ZGMwMTRjYzEwOWQ1
10
+ MTE2NDJiY2ZiYzIxMjJkNTQ2NjUwZmRmZWE4Yzc3MTYxM2RiZTM4OTg3MDAz
11
+ ZTllNmMwZTU2OWY2Nzk2YjJmNDhjZjcwZTA5MTBiOGJmMzdiODI=
12
12
  data.tar.gz: !binary |-
13
- MGU5ODQyZmU4YWU5NDY4NjJlM2JhNjVmZDlmNmQzOGYwZDZmYTNlNWVkMDdm
14
- NTFhZjEwNDA2YzIwNWJlYWE4ODI4NWI0NGFjNTNkMDQyMTEyNGE1ZWM5ZWY4
15
- NDM5Njk3NDA0Zjc2NWRjM2VjYmI4ZTYwNTUzYzFmM2NjMjY5NTY=
13
+ MWQzNmI1NWE0YWQ0YjEzNmU2NDIzNTVmNmUwMWRkYjUwN2QyYjZkY2FhZDVh
14
+ ZDM3MDgzNmQ5MmI0N2NhMTU5MTE4ODBkYWU1NjY3NjU2OWJmZjllNDIzOWE2
15
+ YTgyYTk0MDJkNmQ2Nzc0ZWFlOTQ4MDllODI0M2E3YjA0Y2NkNGI=
@@ -196,7 +196,7 @@ module DPL
196
196
 
197
197
  File.open(path, 'w') do |file|
198
198
  file.write "#!/bin/sh\n"
199
- file.write "exec ssh -o StrictHostKeychecking=no -o CheckHostIP=no -o UserKnownHostsFile=/dev/null -i #{key_path} -- \"$@\"\n"
199
+ file.write "exec ssh -o StrictHostKeychecking=no -o CheckHostIP=no -o UserKnownHostsFile=/dev/null -i #{key_path} \"$@\"\n"
200
200
  end
201
201
 
202
202
  chmod(0740, path)
@@ -1,10 +1,8 @@
1
1
  module DPL
2
2
  class Provider
3
3
  class Deis < Provider
4
- experimental 'Deis'
5
-
6
4
  def install_deploy_dependencies
7
- self.class.pip 'deis', 'deis', options[:cli_version]
5
+ context.shell "curl -sSL http://deis.io/deis-cli/install.sh | sh -s #{option(:client_version)}"
8
6
  end
9
7
 
10
8
  def needs_key?
@@ -12,7 +10,7 @@ module DPL
12
10
  end
13
11
 
14
12
  def check_auth
15
- unless context.shell "deis login #{controller_url}" \
13
+ unless context.shell "./deis login #{option(:controller)}" \
16
14
  " --username=#{option(:username)}" \
17
15
  " --password=#{option(:password)}"
18
16
  error 'Login failed.'
@@ -20,89 +18,42 @@ module DPL
20
18
  end
21
19
 
22
20
  def check_app
23
- unless context.shell "deis apps:info --app=#{option(:app)}"
21
+ unless context.shell "./deis apps:info --app=#{option(:app)}"
24
22
  error 'Application could not be verified.'
25
23
  end
26
24
  end
27
25
 
28
26
  def setup_key(file)
29
- unless context.shell "deis keys:add #{file}"
27
+ unless context.shell "./deis keys:add #{file}"
30
28
  error 'Adding keys failed.'
31
29
  end
32
30
  end
33
31
 
34
32
  def setup_git_ssh(path, key_path)
35
33
  super(path, key_path)
36
- # Deis uses a non-standard port, so we need to create a
37
- # ssh config shortcut
38
- key_path = File.expand_path(key_path)
39
- add_ssh_config_entry(key_path)
40
- # A git remote is required for running commands
41
- # https://github.com/deis/deis/issues/1086
42
- add_git_remote
34
+
35
+ unless context.shell "./deis git:remote --app=#{option(:app)}"
36
+ error 'Adding git remote failed.'
37
+ end
43
38
  end
44
39
 
45
40
  def remove_key
46
- unless context.shell "deis keys:remove #{option(:key_name)}"
41
+ unless context.shell "./deis keys:remove #{option(:key_name)}"
47
42
  error 'Removing keys failed.'
48
43
  end
49
44
  end
50
45
 
51
46
  def push_app
52
- wait_until_key_is_set
53
- unless context.shell "git push #{git_push_url} HEAD:refs/heads/master -f"
47
+ unless context.shell "git push deis HEAD:refs/heads/master -f"
54
48
  error 'Deploying application failed.'
55
49
  end
56
50
  end
57
51
 
58
52
  def run(command)
59
- unless context.shell "deis apps:run #{command}"
53
+ unless context.shell "deis run -- #{command}"
60
54
  error 'Running command failed.'
61
55
  end
62
56
  end
63
-
64
- private
65
-
66
- def wait_until_key_is_set
67
- sleep 5
68
- end
69
-
70
- def ssh_config_entry(key_file)
71
- "\nHost deis-repo\n" \
72
- " Hostname #{option(:controller)}\n" \
73
- " Port 2222\n" \
74
- " User git\n" \
75
- " IdentityFile #{key_file}\n"
76
- end
77
-
78
- def add_ssh_config_entry(key_file)
79
- FileUtils.mkdir_p(ssh_config_dir)
80
- File.open(ssh_config, 'a') { |f| f.write(ssh_config_entry(key_file)) }
81
- end
82
-
83
- def ssh_config
84
- File.join(ssh_config_dir, 'config')
85
- end
86
-
87
- def ssh_config_dir
88
- File.join(Dir.home, '.ssh')
89
- end
90
-
91
- def add_git_remote
92
- context.shell "git remote add deis #{git_remote_url}"
93
- end
94
-
95
- def git_push_url
96
- "deis-repo:#{option(:app)}.git"
97
- end
98
-
99
- def git_remote_url
100
- "ssh://git@#{option(:controller)}:2222/#{option(:app)}.git"
101
- end
102
-
103
- def controller_url
104
- "http://#{option(:controller)}"
105
- end
106
57
  end
107
58
  end
108
59
  end
@@ -6,9 +6,10 @@ describe DPL::Provider::Deis do
6
6
  {
7
7
  :app => 'example',
8
8
  :key_name => 'key',
9
- :controller => 'deis.deisapps.com',
9
+ :controller => 'https://deis.deisapps.com',
10
10
  :username => 'travis',
11
- :password => 'secret'
11
+ :password => 'secret',
12
+ :client_version => '1.0'
12
13
  }
13
14
  end
14
15
 
@@ -17,14 +18,10 @@ describe DPL::Provider::Deis do
17
18
  end
18
19
 
19
20
  describe "#install_deploy_dependencies" do
20
- example 'without version specified' do
21
- expect(provider.class).to receive(:pip).with('deis', 'deis', nil)
22
- provider.install_deploy_dependencies
23
- end
24
-
25
- example 'with version specified' do
26
- options[:cli_version] = '1.0'
27
- expect(provider.class).to receive(:pip).with('deis', 'deis', '1.0')
21
+ example do
22
+ expect(provider.context).to receive(:shell).with(
23
+ 'curl -sSL http://deis.io/deis-cli/install.sh | sh -s 1.0'
24
+ ).and_return(true)
28
25
  provider.install_deploy_dependencies
29
26
  end
30
27
  end
@@ -38,7 +35,7 @@ describe DPL::Provider::Deis do
38
35
  describe "#check_auth" do
39
36
  example do
40
37
  expect(provider.context).to receive(:shell).with(
41
- 'deis login http://deis.deisapps.com --username=travis --password=secret'
38
+ './deis login https://deis.deisapps.com --username=travis --password=secret'
42
39
  ).and_return(true)
43
40
  provider.check_auth
44
41
  end
@@ -47,7 +44,7 @@ describe DPL::Provider::Deis do
47
44
  describe "#check_app" do
48
45
  example do
49
46
  expect(provider.context).to receive(:shell).with(
50
- 'deis apps:info --app=example'
47
+ './deis apps:info --app=example'
51
48
  ).and_return(true)
52
49
  provider.check_app
53
50
  end
@@ -59,31 +56,17 @@ describe DPL::Provider::Deis do
59
56
  let(:identity_file) { File.join(Dir.pwd, 'key_file') }
60
57
  example do
61
58
  expect(provider.context).to receive(:shell).with(
62
- 'deis keys:add key_file'
59
+ './deis keys:add key_file'
63
60
  ).and_return(true)
64
61
  provider.setup_key('key_file')
65
62
  end
66
63
  end
67
64
 
68
65
  describe "#setup_git_ssh" do
69
- let(:ssh_config_handle) { double 'ssh_config_handle' }
70
- let(:ssh_config) { File.join(Dir.home, '.ssh', 'config') }
71
- let(:identity_file) { File.join(Dir.pwd, 'key_file') }
72
- let(:git_ssh) { File.join(Dir.pwd, 'foo') }
73
- after { FileUtils.rm provider.context.env.delete('GIT_SSH') }
74
-
75
66
  example do
76
- expect(File).to receive(:open).with(git_ssh, 'w').and_call_original
77
- expect(File).to receive(:open).with(ssh_config, 'a')
78
- .and_yield(ssh_config_handle)
79
-
80
- expect(ssh_config_handle).to receive(:write).with(
81
- "\nHost deis-repo\n Hostname deis.deisapps.com\n Port 2222\n" \
82
- " User git\n IdentityFile #{identity_file}\n"
83
- )
84
67
  expect(provider.context).to receive(:shell).with(
85
- 'git remote add deis ssh://git@deis.deisapps.com:2222/example.git'
86
- )
68
+ './deis git:remote --app=example'
69
+ ).and_return(true)
87
70
  provider.setup_git_ssh('foo', 'key_file')
88
71
  end
89
72
  end
@@ -91,7 +74,7 @@ describe DPL::Provider::Deis do
91
74
  describe "#remove_key" do
92
75
  example do
93
76
  expect(provider.context).to receive(:shell).with(
94
- 'deis keys:remove key'
77
+ './deis keys:remove key'
95
78
  ).and_return(true)
96
79
  provider.remove_key
97
80
  end
@@ -100,7 +83,7 @@ describe DPL::Provider::Deis do
100
83
  describe "#push_app" do
101
84
  example do
102
85
  expect(provider.context).to receive(:shell).with(
103
- 'git push deis-repo:example.git HEAD:refs/heads/master -f'
86
+ 'git push deis HEAD:refs/heads/master -f'
104
87
  ).and_return(true)
105
88
  provider.push_app
106
89
  end
@@ -109,7 +92,7 @@ describe DPL::Provider::Deis do
109
92
  describe "#run" do
110
93
  example do
111
94
  expect(provider.context).to receive(:shell).with(
112
- 'deis apps:run shell command'
95
+ 'deis run -- shell command'
113
96
  ).and_return(true)
114
97
  provider.run('shell command')
115
98
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dpl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.20.travis.951.4
4
+ version: 1.7.20.travis.952.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase