deploy-cli 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app.rb +18 -0
- data/bin/deploy +3 -1
- data/deploy-completion.bash +10 -0
- data/keys/heroku +51 -0
- data/keys/heroku.pub +1 -0
- data/lib/deploy/runner.rb +10 -8
- data/lib/deploy/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fdca0bc0a30fe6a4b98de52c518f3e7ab85778c
|
4
|
+
data.tar.gz: d2765b70eeb9d42d6f70a7f05dcb45c5427ba971
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: facfb01b5210a795e564ed0202e1a7fc78005c4a770725f44d1a81fe4cbf4b05d4393ca777edf5ea42bb4c25ef1a0b00a157635adeef0d95edaa1e230bc8cd17
|
7
|
+
data.tar.gz: d6475471cb610ba4b56d4c2240645236b73b34894046a0e67ddf88ce3c90f130364aaf9d3bdc52d5e4db69ba1bfe50b042ec160f4657cfa0c3a4b7e5575b7b24
|
data/app.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "sinatra"
|
3
|
+
|
4
|
+
|
5
|
+
get "/" do
|
6
|
+
return <<-EOS
|
7
|
+
<h1>Deploy</h1>
|
8
|
+
<a href="/deploy/live">KMK Live</a>
|
9
|
+
<a href="/deploy/stage">KMK Stage</a>
|
10
|
+
EOS
|
11
|
+
asa
|
12
|
+
end
|
13
|
+
|
14
|
+
get "/deploy/:name" do
|
15
|
+
name = params[:name]
|
16
|
+
out = `./bin/deploy to #{name} --key ./keys/heroku`
|
17
|
+
"<h1>Deploy to #{name}</h1><pre>#{out}</pre>"
|
18
|
+
end
|
data/bin/deploy
CHANGED
@@ -8,7 +8,8 @@ require "deploy"
|
|
8
8
|
|
9
9
|
module Deploy
|
10
10
|
class Cli < Thor
|
11
|
-
class_option :file
|
11
|
+
class_option :file, :type => :string
|
12
|
+
class_option :key, :type => :string
|
12
13
|
|
13
14
|
desc "version", "Show the current version"
|
14
15
|
def version
|
@@ -65,6 +66,7 @@ module Deploy
|
|
65
66
|
def _from_yaml file, stage
|
66
67
|
data = YAML.load_file(file)
|
67
68
|
spec = data[stage.to_s]
|
69
|
+
spec[:key] = options[:key] if options[:key]
|
68
70
|
Deploy::Runner.run spec
|
69
71
|
end
|
70
72
|
|
data/keys/heroku
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
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
|
51
|
+
-----END RSA PRIVATE KEY-----
|
data/keys/heroku.pub
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZx1RTrIHnN+YdU8/nIWlk7qTkuKUgSV+knlemwf5rsk5UcffnGWtr4fXd52BkmfQnBuK63pZ/lO+2hcNq4FibB3iggb4rD1vVHe6s/iR2PCggi0I8I9LpjbA5oBbLLpjx8bxGlmbB7oZcXQurpByQlglkgccGW+Eycvx29gNE6jypG0DMOTHsRjzU0Fq/M/nc3+WJfzy5UUVCGW9PdCDgJUfuQC2HjGhnofSI5qCG8Zs8VOuGjcwBdkr8JN5bQhjV0ZpRCm+SGwRkQq6Frp0EQELoySsHxHS0IoNEcg8WTxB6dhzYSx/uUj9DdrXqyF2iqxtq38FwsXaQ8SqT6im0Rm9pE85+Gn0pi2dT3hFOfAMe6dX+0vPr85zWRyLSipvkNzxMzYSHT4klbJB1gfRHYz/Es0t95OmhGY33YsAx3SFVw8ox8aWaDPj3xUU7dCIhcVvGSDN4tewile459Exh3M1hQvjLEbrI28QQ3Tv17M/DdsnRuMlHfz+k/WJSAIAD1JGvKUcLXZhR34R4j+5k+q6XqHRhU1H5jekw9xtOSxvLNlnE6lLzBUniRlyKMnq2UAQrxeWCpBGWIku9Wju4FkqtIgaGTZfqnLDsYtFdarGod2qNKbIlzBhLspJISkBlKHJ0IBXP3gk6ByKiCqlZutGa9RyP4T2UlVOmA8OUnw== heroku
|
data/lib/deploy/runner.rb
CHANGED
@@ -23,6 +23,8 @@ module Deploy
|
|
23
23
|
ok = true
|
24
24
|
tasks "BEFORE", @before
|
25
25
|
|
26
|
+
cmd "ssh-add #{@spec[:key]} 2>/dev/null" if @spec[:key]
|
27
|
+
|
26
28
|
@spec["servers"].each do |server|
|
27
29
|
log "[Server #{server}]", BLUE
|
28
30
|
|
@@ -151,27 +153,27 @@ module Deploy
|
|
151
153
|
]
|
152
154
|
}.to_json
|
153
155
|
|
154
|
-
# puts "curl -s -X POST --data-urlencode 'payload=#{payload}' #{url}"
|
155
156
|
`curl -s -X POST --data-urlencode 'payload=#{payload}' #{url}`
|
156
157
|
end
|
157
158
|
|
158
159
|
private
|
159
160
|
def ssh(server, cmd)
|
160
161
|
full = "ssh -A #{@spec['user']}@#{server}"
|
162
|
+
full += " -i #{@spec['key']}" if @spec['key']
|
161
163
|
full += " 'cd #{@spec['path']} && #{cmd}'"
|
162
164
|
output = `#{full}`.chomp
|
165
|
+
puts full
|
163
166
|
code = $?.exitstatus
|
164
167
|
abort "Command <#{full}> failed with status #{code}." if code != 0
|
165
168
|
output
|
166
169
|
end
|
167
170
|
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
# end
|
171
|
+
def cmd(cmd)
|
172
|
+
output = `#{cmd}`.chomp
|
173
|
+
code = $?.exitstatus
|
174
|
+
abort "Command <#{full}> failed with status #{code}." if code != 0
|
175
|
+
output
|
176
|
+
end
|
175
177
|
|
176
178
|
def log(message, color = BLACK)
|
177
179
|
puts "\033[#{color}m#{message}\033[0m"
|
data/lib/deploy/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deploy-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ptdorf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -51,8 +51,12 @@ files:
|
|
51
51
|
- Gemfile.lock
|
52
52
|
- Rakefile
|
53
53
|
- Readme.md
|
54
|
+
- app.rb
|
54
55
|
- bin/deploy
|
55
56
|
- deploy-cli.gemspec
|
57
|
+
- deploy-completion.bash
|
58
|
+
- keys/heroku
|
59
|
+
- keys/heroku.pub
|
56
60
|
- lib/deploy.rb
|
57
61
|
- lib/deploy/runner.rb
|
58
62
|
- lib/deploy/version.rb
|