ors 0.0.9 → 0.1.0
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.
- data/README +1 -21
- data/lib/ors.rb +1 -0
- data/lib/ors/command.rb +1 -0
- data/lib/ors/commands/env.rb +16 -0
- data/lib/ors/commands/help.rb +1 -0
- data/lib/ors/config.rb +20 -34
- data/lib/ors/version.rb +1 -1
- metadata +79 -52
data/README
CHANGED
@@ -48,25 +48,5 @@ Gemfile
|
|
48
48
|
|
49
49
|
=== Usage
|
50
50
|
|
51
|
+
run `ors help`
|
51
52
|
|
52
|
-
Usage: ./ors <action> [environment=production] [options]
|
53
|
-
|
54
|
-
=== Actions
|
55
|
-
help You're looking at it
|
56
|
-
console Bring up a console on the production servers
|
57
|
-
logs Show the last few log entries from the production servers
|
58
|
-
deploy Update the code, run the migrations, and restart unicorn
|
59
|
-
setup Sets up the default environment on the servers
|
60
|
-
update Updates the code on all servers
|
61
|
-
migrate Runs the migrations on the migration server
|
62
|
-
start Starts up unicorn on the app servers
|
63
|
-
stop Stops unicorn on the app servers
|
64
|
-
restart Retarts unicorn on the app servers
|
65
|
-
|
66
|
-
=== Environments
|
67
|
-
Must be one of: production demo staging
|
68
|
-
Defaults to production.
|
69
|
-
|
70
|
-
=== Options
|
71
|
-
--pretend (or -p) Don't execute anything, just show me what you're going to do (default: false)
|
72
|
-
--no-gateway (or -ng) Don't use a gateway (if you're inside the firewall) (default: true)
|
data/lib/ors.rb
CHANGED
data/lib/ors/command.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
module ORS::Commands
|
2
|
+
|
3
|
+
class Env < Base
|
4
|
+
|
5
|
+
def execute
|
6
|
+
puts "ORS Config"
|
7
|
+
puts "=" * 80
|
8
|
+
|
9
|
+
[:name, :environment, :use_gateway, :pretending, :log_lines, :rails2, :gateway, :deploy_user,
|
10
|
+
:repo, :base_path, :web_servers, :app_servers, :migration_server, :console_server].each do |config_variable|
|
11
|
+
puts "#{config_variable}: #{ORS::Config.send(config_variable)}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
data/lib/ors/commands/help.rb
CHANGED
@@ -8,6 +8,7 @@ Usage: ./ors <action> [environment=production] [options]
|
|
8
8
|
|
9
9
|
=== Actions
|
10
10
|
help You're looking at it
|
11
|
+
env Print out the configuration
|
11
12
|
console Bring up a console on the production servers
|
12
13
|
logs Show the last few log entries from the production servers
|
13
14
|
exec Executes a command (via the CMD environment variable) on the migration server
|
data/lib/ors/config.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
module ORS
|
2
2
|
module Config
|
3
3
|
|
4
|
+
CONFIG_FILENAME="config/deploy.yml"
|
5
|
+
|
4
6
|
mattr_accessor :name, :environment, :use_gateway, :pretending, :log_lines, :rails2
|
7
|
+
mattr_accessor :gateway, :deploy_user, :repo, :base_path, :web_servers, :app_servers, :migration_server, :console_server
|
5
8
|
|
6
9
|
self.environment = "production"
|
7
10
|
self.pretending = false
|
@@ -22,6 +25,21 @@ module ORS
|
|
22
25
|
end
|
23
26
|
end
|
24
27
|
|
28
|
+
def parse_config_file
|
29
|
+
if File.exists?(CONFIG_FILENAME)
|
30
|
+
YAML.load(File.read(CONFIG_FILENAME)).each {|(name, value)| send "#{name}=", value }
|
31
|
+
else
|
32
|
+
self.gateway = "deploy-gateway"
|
33
|
+
self.deploy_user = "deployer"
|
34
|
+
self.repo = "ors_git"
|
35
|
+
self.base_path = "/var/www"
|
36
|
+
self.web_servers = %w(koala)
|
37
|
+
self.app_servers = %w(eel jellyfish squid)
|
38
|
+
self.migration_server = "tuna"
|
39
|
+
self.console_server = "tuna"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
25
43
|
def valid_options?
|
26
44
|
name.to_s.size > 0 and valid_environments.include?(environment)
|
27
45
|
end
|
@@ -43,44 +61,12 @@ module ORS
|
|
43
61
|
end
|
44
62
|
extend ModuleMethods
|
45
63
|
|
46
|
-
def gateway
|
47
|
-
"deploy-gateway"
|
48
|
-
end
|
49
|
-
|
50
|
-
def deploy_user
|
51
|
-
"deployer"
|
52
|
-
end
|
53
|
-
|
54
|
-
def repo
|
55
|
-
"ors_git"
|
56
|
-
end
|
57
|
-
|
58
|
-
def base_path
|
59
|
-
"/var/www"
|
60
|
-
end
|
61
|
-
|
62
|
-
def web_servers
|
63
|
-
%w(koala)
|
64
|
-
end
|
65
|
-
|
66
|
-
def app_servers
|
67
|
-
%w(eel jellyfish squid)
|
68
|
-
end
|
69
|
-
|
70
|
-
def migration_server
|
71
|
-
"tuna"
|
72
|
-
end
|
73
|
-
|
74
|
-
def console_server
|
75
|
-
"tuna"
|
76
|
-
end
|
77
|
-
|
78
64
|
def ruby_servers
|
79
|
-
app_servers + [migration_server]
|
65
|
+
(app_servers + [migration_server]).uniq
|
80
66
|
end
|
81
67
|
|
82
68
|
def all_servers
|
83
|
-
web_servers + app_servers + [migration_server]
|
69
|
+
(web_servers + app_servers + [migration_server]).uniq
|
84
70
|
end
|
85
71
|
|
86
72
|
def deploy_directory
|
data/lib/ors/version.rb
CHANGED
metadata
CHANGED
@@ -1,58 +1,75 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ors
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Jason Dew and John Long
|
9
|
-
autorequire:
|
14
|
+
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
17
|
+
|
18
|
+
date: 2011-02-25 00:00:00 -05:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
16
22
|
name: git
|
17
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
18
25
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
23
33
|
type: :runtime
|
24
|
-
|
25
|
-
|
26
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
27
36
|
name: rspec
|
28
|
-
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
29
39
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
34
47
|
type: :development
|
35
|
-
|
36
|
-
|
37
|
-
- !ruby/object:Gem::Dependency
|
48
|
+
version_requirements: *id002
|
49
|
+
- !ruby/object:Gem::Dependency
|
38
50
|
name: rr
|
39
|
-
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
53
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
45
61
|
type: :development
|
46
|
-
|
47
|
-
version_requirements: *2168588840
|
62
|
+
version_requirements: *id003
|
48
63
|
description: Heroku-like deployment utilities for ORS
|
49
|
-
email:
|
64
|
+
email:
|
50
65
|
- jason.dew@ors.sc.gov and john.long@ors.sc.gov
|
51
|
-
executables:
|
66
|
+
executables:
|
52
67
|
- ors
|
53
68
|
extensions: []
|
69
|
+
|
54
70
|
extra_rdoc_files: []
|
55
|
-
|
71
|
+
|
72
|
+
files:
|
56
73
|
- .autotest
|
57
74
|
- .gitignore
|
58
75
|
- .rspec
|
@@ -65,6 +82,7 @@ files:
|
|
65
82
|
- lib/ors/commands/base.rb
|
66
83
|
- lib/ors/commands/console.rb
|
67
84
|
- lib/ors/commands/deploy.rb
|
85
|
+
- lib/ors/commands/env.rb
|
68
86
|
- lib/ors/commands/exec.rb
|
69
87
|
- lib/ors/commands/help.rb
|
70
88
|
- lib/ors/commands/logs.rb
|
@@ -91,31 +109,40 @@ files:
|
|
91
109
|
- spec/ors/log_unifier_spec.rb
|
92
110
|
- spec/spec_helper.rb
|
93
111
|
has_rdoc: true
|
94
|
-
homepage:
|
112
|
+
homepage: ""
|
95
113
|
licenses: []
|
96
|
-
|
114
|
+
|
115
|
+
post_install_message:
|
97
116
|
rdoc_options: []
|
98
|
-
|
117
|
+
|
118
|
+
require_paths:
|
99
119
|
- lib
|
100
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
121
|
none: false
|
102
|
-
requirements:
|
103
|
-
- -
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
|
106
|
-
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
hash: 3
|
126
|
+
segments:
|
127
|
+
- 0
|
128
|
+
version: "0"
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
130
|
none: false
|
108
|
-
requirements:
|
109
|
-
- -
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
|
131
|
+
requirements:
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 3
|
135
|
+
segments:
|
136
|
+
- 0
|
137
|
+
version: "0"
|
112
138
|
requirements: []
|
139
|
+
|
113
140
|
rubyforge_project: ors
|
114
|
-
rubygems_version: 1.
|
115
|
-
signing_key:
|
141
|
+
rubygems_version: 1.4.1
|
142
|
+
signing_key:
|
116
143
|
specification_version: 3
|
117
144
|
summary: Heroku-like deployment utilities for ORS
|
118
|
-
test_files:
|
145
|
+
test_files:
|
119
146
|
- spec/ors/command_spec.rb
|
120
147
|
- spec/ors/commands/base_spec.rb
|
121
148
|
- spec/ors/commands/console_spec.rb
|