trooper 0.6.0.alpha1 → 0.6.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -4,6 +4,11 @@ Trooper is designed to give you the flexibility to deploy your code to any serve
4
4
  You design your deployment strategy to best fit your application and its needs.
5
5
  Trooper comes with some built in actions that you can use in your own strategies or come up with entirely new ones.
6
6
 
7
+ #### Please give me a try on your small project for now
8
+
9
+ We have been using earlier versions of trooper were I work for the best part of 2 years,
10
+ but I re-wrote it for public release and so has lost a lot of its maturity.
11
+
7
12
  ## Installation
8
13
 
9
14
  1. Super easy! `gem install trooper` or add it to your Gemfile `gem 'trooper'`
@@ -26,6 +26,10 @@ module Trooper
26
26
  run "git pull origin #{branch} -q"
27
27
  run "git gc --aggressive"
28
28
  end
29
+
30
+ def branch
31
+ config[:branch] || 'master'
32
+ end
29
33
 
30
34
  end
31
35
 
data/lib/trooper/cli.rb CHANGED
@@ -18,16 +18,21 @@ module Trooper
18
18
  @options = { :environment => :production }
19
19
 
20
20
  @command = option_parser.parse!(@argv)[0]
21
- raise CliArgumentError, "You didnt pass an action" if @command == nil
21
+
22
+ if @command
23
+ @command = @command.to_sym
24
+ else
25
+ raise CliArgumentError, "You didnt pass an action"
26
+ end
22
27
  end
23
28
 
24
29
  def execute
25
- case command.to_sym
30
+ case command
26
31
  when :init
27
32
  Configuration.init
28
33
  else
29
34
  config = Configuration.new(options)
30
- config.execute action
35
+ config.execute command
31
36
  end
32
37
  end
33
38
 
@@ -38,7 +43,8 @@ module Trooper
38
43
  op.banner = 'Usage: trooper <command> [options]'
39
44
  op.separator ''
40
45
 
41
- op.on "-d", "--debug", "Debuy" do
46
+ op.on "-d", "--debug", "Debuy" do
47
+ $trooper_log_level = ::Logger::DEBUG
42
48
  @options[:debug] = true
43
49
  end
44
50
 
@@ -25,6 +25,7 @@ module Trooper
25
25
 
26
26
  def load_default_actions!
27
27
  DEFAULT_ACTIONS.each do |klass|
28
+ Trooper.logger.debug "loaded #{klass.to_s}"
28
29
  Trooper::Arsenal.actions.add klass.new
29
30
  end
30
31
  end
@@ -7,9 +7,10 @@ module Trooper
7
7
  class Logger < ::Logger
8
8
  ACTION = 6
9
9
  SUCCESS = 7
10
+ STRATEGY = 8
10
11
 
11
- # DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN < ACTION < SUCCESS
12
- LABELS = %w(DEBUG INFO WARN ERROR FATAL ANY ACTION SUCCESS)
12
+ # DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN < ACTION < SUCCESS < STRATEGY
13
+ LABELS = %w(DEBUG INFO WARN ERROR FATAL ANY ACTION SUCCESS STRATEGY)
13
14
 
14
15
  def action(progname = nil, &block)
15
16
  add(ACTION, nil, progname, &block)
@@ -19,6 +20,10 @@ module Trooper
19
20
  add(SUCCESS, nil, progname, &block)
20
21
  end
21
22
 
23
+ def strategy(progname = nil, &block)
24
+ add(STRATEGY, nil, progname, &block)
25
+ end
26
+
22
27
  private
23
28
 
24
29
  def format_severity(severity)
@@ -52,6 +57,8 @@ module Trooper
52
57
  colour("#{progname} => [#{severity}] #{message}\n", :magenta)
53
58
  when "SUCCESS"
54
59
  colour("#{progname} => [#{severity}] #{message}\n", :green)
60
+ when "STRATEGY"
61
+ colour("#{progname} => [#{severity}] #{message}\n", :cyan)
55
62
  when "ERROR", "FATAL"
56
63
  colour("#{progname} => [#{severity}] #{message}\n", :red)
57
64
  else
@@ -71,11 +78,10 @@ module Trooper
71
78
 
72
79
  end
73
80
 
74
-
75
81
  def self.logger
76
82
  @logger ||= begin
77
83
  logger = Logger.new($stdout)
78
- logger.level = ::Logger::DEBUG
84
+ logger.level = $trooper_log_level || ::Logger::INFO
79
85
  logger.progname = 'Trooper'
80
86
  logger.formatter = LogFormat.new
81
87
  logger
@@ -14,6 +14,7 @@ module Trooper
14
14
  def execute(config = {})
15
15
  @config = config
16
16
  Trooper.logger.debug "Configuration\n#{config}"
17
+ Trooper.logger.strategy description
17
18
  successful = nil
18
19
 
19
20
  runners.each do |runner|
@@ -52,7 +53,7 @@ module Trooper
52
53
  end
53
54
 
54
55
  def actions(*action_names)
55
- [*action_names].each do |name|
56
+ [*action_names].each do |name|
56
57
  @run_list << [:action, name]
57
58
  end
58
59
  end
@@ -77,7 +78,7 @@ module Trooper
77
78
  action = Arsenal.actions[name]
78
79
 
79
80
  if action
80
- commands = action.execute config
81
+ commands = action.call config
81
82
  Trooper.logger.action action.description
82
83
  runner_execute!(runner, commands)
83
84
  end
@@ -3,7 +3,7 @@ module Trooper
3
3
  MAJOR = 0
4
4
  MINOR = 6
5
5
  TINY = 0
6
- PRE = 'alpha1'
6
+ PRE = 'alpha2'
7
7
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trooper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0.alpha1
4
+ version: 0.6.0.alpha2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -158,7 +158,8 @@ dependencies:
158
158
  description: Simple but powerful deployment
159
159
  email:
160
160
  - richard@madwire.co.uk
161
- executables: []
161
+ executables:
162
+ - trooper
162
163
  extensions: []
163
164
  extra_rdoc_files: []
164
165
  files:
@@ -189,8 +190,9 @@ files:
189
190
  - LICENSE
190
191
  - Rakefile
191
192
  - README.md
192
- homepage: http://www.madwire.co.uk
193
- licenses: []
193
+ homepage: https://github.com/madwire/trooper
194
+ licenses:
195
+ - MIT
194
196
  post_install_message:
195
197
  rdoc_options: []
196
198
  require_paths:
@@ -203,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
205
  version: '0'
204
206
  segments:
205
207
  - 0
206
- hash: 3543094362386461389
208
+ hash: 987069315358731721
207
209
  required_rubygems_version: !ruby/object:Gem::Requirement
208
210
  none: false
209
211
  requirements: