cap-hacks 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -1
- data/License.txt +20 -0
- data/Manifest.txt +8 -3
- data/README.txt +18 -38
- data/lib/cap-hacks/plugins/multiserver.rb +20 -0
- data/lib/cap-hacks/recipes/caphacks.rb +30 -0
- data/lib/cap-hacks/version.rb +9 -0
- data/lib/cap-hacks.rb +6 -2
- data/test/Capfile +3 -0
- data/test/cap_servers.example.rb +4 -0
- data/test/test_cap-hacks.rb +11 -0
- data/test/test_helper.rb +2 -0
- metadata +18 -20
- data/Rakefile +0 -22
- data/bin/cap-hacks +0 -0
data/History.txt
CHANGED
data/License.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2008 Ben Marini
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
History.txt
|
2
|
+
License.txt
|
2
3
|
Manifest.txt
|
3
4
|
README.txt
|
4
|
-
Rakefile
|
5
|
-
bin/cap-hacks
|
6
5
|
lib/cap-hacks.rb
|
7
|
-
|
6
|
+
lib/cap-hacks/plugins/multiserver.rb
|
7
|
+
lib/cap-hacks/recipes/caphacks.rb
|
8
|
+
lib/cap-hacks/version.rb
|
9
|
+
test/Capfile
|
10
|
+
test/cap_servers.example.rb
|
11
|
+
test/test_cap-hacks.rb
|
12
|
+
test/test_helper.rb
|
data/README.txt
CHANGED
@@ -1,45 +1,25 @@
|
|
1
|
-
|
2
|
-
by Ben Marini
|
3
|
-
FIX (url)
|
1
|
+
h1. Capistrano Hacks
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
cap-hacks is a collection of plugins and recipes for capistrano, to aid
|
8
|
-
in sysadmin related tasks.
|
3
|
+
h2. Usage
|
9
4
|
|
10
|
-
|
5
|
+
Create a new file in same directory as your Capfile called cap_servers.rb that looks like this:
|
11
6
|
|
12
|
-
|
7
|
+
<pre syntax="ruby">
|
8
|
+
servers.define :serv1, 'ben@serv1.example.com'
|
9
|
+
servers.define :serv2, 'ben@serv2.example.com'
|
10
|
+
servers.define :serv3, 'ben@serv3.example.com'
|
11
|
+
</pre>
|
13
12
|
|
14
|
-
|
13
|
+
Add this to your Capfile:
|
15
14
|
|
16
|
-
|
15
|
+
<pre syntax="ruby">
|
16
|
+
require 'cap-hacks'
|
17
|
+
load 'cap_servers.rb'
|
18
|
+
</pre>
|
17
19
|
|
18
|
-
|
20
|
+
Use like so:
|
19
21
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
(The MIT License)
|
25
|
-
|
26
|
-
Copyright (c) 2008 Ben Marini
|
27
|
-
|
28
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
29
|
-
a copy of this software and associated documentation files (the
|
30
|
-
'Software'), to deal in the Software without restriction, including
|
31
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
32
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
33
|
-
permit persons to whom the Software is furnished to do so, subject to
|
34
|
-
the following conditions:
|
35
|
-
|
36
|
-
The above copyright notice and this permission notice shall be
|
37
|
-
included in all copies or substantial portions of the Software.
|
38
|
-
|
39
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
40
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
41
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
42
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
43
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
44
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
45
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
<pre>
|
23
|
+
cap serv1 [some task to perform on serv1]
|
24
|
+
cap serv1 serv2 [some task to perform on servers 1 and 2]
|
25
|
+
</pre>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'capistrano'
|
2
|
+
unless Capistrano::Configuration.respond_to?(:instance)
|
3
|
+
abort "cap-hacks/plugins/multiserver requires Capistrano 2"
|
4
|
+
end
|
5
|
+
|
6
|
+
module MultiServer
|
7
|
+
def define(name, host, options={})
|
8
|
+
options = {:roles => [:app, :web]}.merge(options)
|
9
|
+
|
10
|
+
desc "Add #{name} to servers to perform subsequent tasks on"
|
11
|
+
task(name) do
|
12
|
+
options.delete(:roles).each do |r|
|
13
|
+
role(r, host, options)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
Capistrano.plugin :servers, MultiServer
|
@@ -0,0 +1,30 @@
|
|
1
|
+
Capistrano::Configuration.instance.load do
|
2
|
+
namespace :caphacks do
|
3
|
+
namespace :apache do
|
4
|
+
|
5
|
+
desc "Retrieve some general info"
|
6
|
+
task :info do
|
7
|
+
apachectl_path = capture 'which apachectl'
|
8
|
+
apache_info = capture 'apachectl -V'
|
9
|
+
|
10
|
+
apache = {}
|
11
|
+
apache[:version] = /Server version: ([^\n]+)/.match(apache_info)[1]
|
12
|
+
apache[:root] = /HTTPD_ROOT="(.*)"/.match(apache_info)[1]
|
13
|
+
apache[:config] = /SERVER_CONFIG_FILE="(.*)"/.match(apache_info)[1]
|
14
|
+
|
15
|
+
puts "apachectl location: #{apachectl_path}"
|
16
|
+
puts "Version: #{apache[:version]}"
|
17
|
+
puts "Config: #{apache[:root]}/#{apache[:config]}"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
namespace :php do
|
22
|
+
desc "Locate the config file"
|
23
|
+
task :locate_config do
|
24
|
+
result = capture "php --info | grep php.ini"
|
25
|
+
puts "PHP Config File: " + /Configuration File .* Path => ([^\n]+)/.match(result)[1]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
data/lib/cap-hacks.rb
CHANGED
data/test/Capfile
ADDED
data/test/test_cap-hacks.rb
CHANGED
data/test/test_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cap-hacks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Marini
|
@@ -9,47 +9,44 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-01-
|
12
|
+
date: 2008-01-27 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: capistrano
|
16
|
+
name: capistrano
|
17
17
|
version_requirement:
|
18
18
|
version_requirements: !ruby/object:Gem::Requirement
|
19
19
|
requirements:
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 2.1.0
|
23
23
|
version:
|
24
|
-
|
25
|
-
name: hoe
|
26
|
-
version_requirement:
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
requirements:
|
29
|
-
- - ">="
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version: 1.4.0
|
32
|
-
version:
|
33
|
-
description: This is a collection of sysadmin related tasks and extensions for capistrano. It is meant to ease the burden of sysadmin chores on multiple servers by allowing you to define a list of servers and execute common tasks arbitrarily on them.
|
24
|
+
description: A collection of sysadmin related plugins and recipes for capistrano
|
34
25
|
email: bmarini@gmail.com
|
35
|
-
executables:
|
36
|
-
|
26
|
+
executables: []
|
27
|
+
|
37
28
|
extensions: []
|
38
29
|
|
39
30
|
extra_rdoc_files:
|
40
31
|
- History.txt
|
32
|
+
- License.txt
|
41
33
|
- Manifest.txt
|
42
34
|
- README.txt
|
43
35
|
files:
|
44
36
|
- History.txt
|
37
|
+
- License.txt
|
45
38
|
- Manifest.txt
|
46
39
|
- README.txt
|
47
|
-
- Rakefile
|
48
|
-
- bin/cap-hacks
|
49
40
|
- lib/cap-hacks.rb
|
41
|
+
- lib/cap-hacks/plugins/multiserver.rb
|
42
|
+
- lib/cap-hacks/recipes/caphacks.rb
|
43
|
+
- lib/cap-hacks/version.rb
|
44
|
+
- test/Capfile
|
45
|
+
- test/cap_servers.example.rb
|
50
46
|
- test/test_cap-hacks.rb
|
47
|
+
- test/test_helper.rb
|
51
48
|
has_rdoc: true
|
52
|
-
homepage: http://
|
49
|
+
homepage: http://cap-hacks.rubyforge.org
|
53
50
|
post_install_message:
|
54
51
|
rdoc_options:
|
55
52
|
- --main
|
@@ -74,6 +71,7 @@ rubyforge_project: cap-hacks
|
|
74
71
|
rubygems_version: 1.0.1
|
75
72
|
signing_key:
|
76
73
|
specification_version: 2
|
77
|
-
summary: A collection of plugins and recipes for
|
74
|
+
summary: A collection of sysadmin related plugins and recipes for capistrano
|
78
75
|
test_files:
|
79
76
|
- test/test_cap-hacks.rb
|
77
|
+
- test/test_helper.rb
|
data/Rakefile
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# -*- ruby -*-
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'hoe'
|
5
|
-
require './lib/cap-hacks.rb'
|
6
|
-
|
7
|
-
Hoe.new('cap-hacks', CapHacks::VERSION) do |p|
|
8
|
-
p.rubyforge_name = 'cap-hacks'
|
9
|
-
p.author = 'Ben Marini'
|
10
|
-
p.email = 'bmarini@gmail.com'
|
11
|
-
p.summary = 'A collection of plugins and recipes for sysadmin related tasks'
|
12
|
-
p.description = <<-EOF
|
13
|
-
This is a collection of sysadmin related tasks and extensions for capistrano.
|
14
|
-
It is meant to ease the burden of sysadmin chores on multiple servers by allowing
|
15
|
-
you to define a list of servers and execute common tasks arbitrarily on them.
|
16
|
-
EOF
|
17
|
-
p.extra_deps = ['capistrano >= 2.1.0']
|
18
|
-
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
19
|
-
p.remote_rdoc_dir = '' # Release to root
|
20
|
-
end
|
21
|
-
|
22
|
-
# vim: syntax=Ruby
|
data/bin/cap-hacks
DELETED
File without changes
|