heroku-bartender 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +10 -5
- data/bin/heroku-bartender +10 -3
- data/lib/heroku/bartender/command.rb +2 -2
- data/lib/heroku/bartender/server.rb +7 -2
- data/lib/heroku/bartender/version.rb +1 -1
- metadata +1 -1
data/README.markdown
CHANGED
@@ -3,17 +3,22 @@ Is a simple way to manage releases in heroku
|
|
3
3
|
|
4
4
|
# How to bartender
|
5
5
|
## Install
|
6
|
-
|
6
|
+
gem install heroku-bartender
|
7
7
|
## Run
|
8
|
-
|
8
|
+
heroku-bartender
|
9
|
+
## Options
|
10
|
+
Server options:
|
11
|
+
-h, --host=HOST The hostname or ip of the host to bind to (default 0.0.0.0)
|
12
|
+
-p, --port=PORT The port to listen on (default 4567)
|
13
|
+
-t, --target=TARGET The target is the git remote in which you want to deploy (default heroku)
|
14
|
+
|
9
15
|
For now you must run `heroku-bartender` inside your repo dir
|
10
16
|
# Feature
|
11
17
|
You can rollback your heroku app to a specific commit hash
|
12
18
|
|
13
19
|
# TODO
|
14
|
-
|
15
|
-
|
16
|
-
2. Parametrization
|
20
|
+
1. Keep update the repo
|
21
|
+
2. Handle branches/tags
|
17
22
|
3. DB Rollback
|
18
23
|
4. Styling view
|
19
24
|
5. Async build
|
data/bin/heroku-bartender
CHANGED
@@ -5,7 +5,7 @@ require 'heroku/bartender'
|
|
5
5
|
require 'choice'
|
6
6
|
|
7
7
|
Choice.options do
|
8
|
-
banner "Usage: #{File.basename(__FILE__)} [-
|
8
|
+
banner "Usage: #{File.basename(__FILE__)} [-hptv]"
|
9
9
|
header ''
|
10
10
|
header 'Server options:'
|
11
11
|
|
@@ -28,7 +28,14 @@ Choice.options do
|
|
28
28
|
|
29
29
|
separator ''
|
30
30
|
separator 'Common options: '
|
31
|
-
|
31
|
+
|
32
|
+
option :target do
|
33
|
+
d = "heroku"
|
34
|
+
short '-t'
|
35
|
+
long '--target=TARGET'
|
36
|
+
desc "The target is the git remote in which you want to deploy (default #{d})"
|
37
|
+
default d
|
38
|
+
end
|
32
39
|
option :help do
|
33
40
|
long '--help'
|
34
41
|
desc 'Show this message'
|
@@ -48,4 +55,4 @@ end
|
|
48
55
|
options = Choice.choices
|
49
56
|
|
50
57
|
|
51
|
-
Heroku::Bartender::Server.
|
58
|
+
Heroku::Bartender::Server.start(options[:host], options[:port], options[:target])
|
@@ -3,8 +3,8 @@ module Heroku
|
|
3
3
|
class Command
|
4
4
|
# move to an specific commit
|
5
5
|
# Pending ada more testing stuff
|
6
|
-
def
|
7
|
-
`git push -f
|
6
|
+
def move_to release, heroku_remote
|
7
|
+
`git push -f #{heroku_remote} #{release}:master`
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
@@ -3,18 +3,23 @@ require 'erb'
|
|
3
3
|
module Heroku
|
4
4
|
module Bartender
|
5
5
|
class Server < Sinatra::Base
|
6
|
+
@@heroku_remote
|
6
7
|
dir = File.dirname(File.expand_path(__FILE__))
|
7
8
|
set :views, "#{dir}/views"
|
8
|
-
|
9
9
|
get "/" do
|
10
10
|
erb(:template, {}, :commits => Log.generate_commits)
|
11
11
|
end
|
12
12
|
post "/" do
|
13
13
|
if params[:sha]
|
14
|
-
Command.move_to params[:sha]
|
14
|
+
Command.move_to params[:sha], @@heroku_remote
|
15
15
|
end
|
16
16
|
erb(:template, {}, :commits => Log.generate_commits)
|
17
17
|
end
|
18
|
+
def self.start(host, port, heroku_remote)
|
19
|
+
@@heroku_remote = heroku_remote
|
20
|
+
puts @@heroku_remote
|
21
|
+
Heroku::Bartender::Server.run!(:host => host, :port => port)
|
22
|
+
end
|
18
23
|
end
|
19
24
|
end
|
20
25
|
end
|