ops_worker 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/bin/ops_worker ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.expand_path('../../lib', __FILE__))
3
+ require 'ops_worker'
4
+ require 'ops_worker/cli'
5
+
6
+ begin
7
+ OpsWorker::CLI.start()
8
+ rescue
9
+ exit(1)
10
+ end
@@ -0,0 +1,39 @@
1
+ require 'trollop'
2
+
3
+ module OpsWorker
4
+ class CLI
5
+ def self.start
6
+ client = OpsWorker::Client.new
7
+
8
+ sub_commands = ["deploy", "rollback", "update_cookbooks", "execute_recipe"]
9
+ opts = Trollop::options do
10
+ banner "ops_worker AWS OpsWorks helper"
11
+ opt :app, "Application", :type => :string, :short => :a, :required => true
12
+ stop_on sub_commands
13
+ end
14
+
15
+ command = ARGV.shift()
16
+
17
+ app = client.find_app_by_name(opts[:app])
18
+
19
+ case command
20
+ when "deploy"
21
+ command_opts = Trollop::options do
22
+ opt :branch, :type => :string
23
+ end
24
+ app.deploy(command_opts[:branch])
25
+ when "rollback"
26
+ app.rollback()
27
+ when "update_cookbooks"
28
+ app.update_cookbooks()
29
+ when "execute_recipe"
30
+ command_opts = Trollop::options do
31
+ opt :recipe_name, :type => :string, :required => true
32
+ end
33
+ app.execute_recipes([command_opts[:recipe_name]])
34
+ else
35
+ Trollop::die("Unknown command #{command}")
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,3 +1,3 @@
1
1
  module OpsWorker
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/ops_worker.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  $LOAD_PATH << File.dirname(__FILE__)
2
2
  require 'ops_worker/app'
3
+ require 'ops_worker/cli'
3
4
  require 'ops_worker/client'
4
5
  require 'ops_worker/deployment_status'
5
6
  require 'ops_worker/instance'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_worker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: trollop
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: rspec
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -45,11 +61,13 @@ dependencies:
45
61
  version: '0'
46
62
  description: A simple wrapper for common OpsWorks tasks.
47
63
  email: jon@appboy.com
48
- executables: []
64
+ executables:
65
+ - ops_worker
49
66
  extensions: []
50
67
  extra_rdoc_files: []
51
68
  files:
52
69
  - lib/ops_worker/app.rb
70
+ - lib/ops_worker/cli.rb
53
71
  - lib/ops_worker/client.rb
54
72
  - lib/ops_worker/deployment_status.rb
55
73
  - lib/ops_worker/instance.rb
@@ -59,6 +77,7 @@ files:
59
77
  - lib/ops_worker/version.rb
60
78
  - lib/ops_worker.rb
61
79
  - README.md
80
+ - bin/ops_worker
62
81
  homepage: https://github.com/jonhyman/opsworker
63
82
  licenses: []
64
83
  post_install_message: