cap-recipes 0.3.33 → 0.3.34
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.textile +26 -2
- data/VERSION.yml +1 -1
- data/cap-recipes.gemspec +5 -2
- data/lib/cap_recipes/tasks/mongodb.rb +1 -0
- data/lib/cap_recipes/tasks/mongodb/install.rb +39 -0
- data/lib/cap_recipes/tasks/mongodb/manage.rb +27 -0
- metadata +5 -2
data/README.textile
CHANGED
|
@@ -22,6 +22,7 @@ Currently included recipes in this gem:
|
|
|
22
22
|
* Backgroundrb Server
|
|
23
23
|
* DelayedJob Worker
|
|
24
24
|
* Whenever Cron Scheduling
|
|
25
|
+
* MongoDB Management
|
|
25
26
|
* Aptitude Package Management
|
|
26
27
|
* Gitosis Git Repository Hosting
|
|
27
28
|
|
|
@@ -47,7 +48,8 @@ Then, include into your @deploy.rb@ configuration file for Capistrano:
|
|
|
47
48
|
require 'cap_recipes/tasks/passenger'
|
|
48
49
|
require 'cap_recipes/tasks/thinking_sphinx'
|
|
49
50
|
require 'cap_recipes/tasks/rails'
|
|
50
|
-
|
|
51
|
+
require 'cap_recipes/tasks/delayed_job'
|
|
52
|
+
# or ruby, rubygems, apache, mongodb, juggernaut, backgroundrb, aptitude, gitosis, whenever
|
|
51
53
|
|
|
52
54
|
# OR
|
|
53
55
|
# only use managing tasks:
|
|
@@ -335,6 +337,28 @@ hooks.rb
|
|
|
335
337
|
after "deploy:restart", "memcache:restart" # clear cache after updating code
|
|
336
338
|
</code></pre>
|
|
337
339
|
|
|
340
|
+
h3. MongoDB
|
|
341
|
+
|
|
342
|
+
These recipes are for installing and managing the mongodb document-oriented database
|
|
343
|
+
|
|
344
|
+
h4. Configuration
|
|
345
|
+
|
|
346
|
+
* mongodb_data_path - the location to store the mongodb data [default: "/data/db"]
|
|
347
|
+
* mongodb_bin_path - the location to install mongodb [default: "/opt/mongo"]
|
|
348
|
+
* mongodb_log - the path to the mongodb log file [default: "/var/log/mongodb.log"]
|
|
349
|
+
|
|
350
|
+
h4. Tasks
|
|
351
|
+
|
|
352
|
+
install.rb
|
|
353
|
+
|
|
354
|
+
* mongodb:install - Performs the full installation of mongodb and dependencies
|
|
355
|
+
|
|
356
|
+
manage.rb
|
|
357
|
+
|
|
358
|
+
* mongodb:start - Starts the mongodb process
|
|
359
|
+
* mongodb:stop - Stops the mongodb process
|
|
360
|
+
* mongodb:restart - Restarts the mongodb process
|
|
361
|
+
|
|
338
362
|
h3. Gitosis
|
|
339
363
|
|
|
340
364
|
These recipes are for installing Gitosis Git Repository Hosting
|
|
@@ -465,7 +489,7 @@ h2. CONTRIBUTORS
|
|
|
465
489
|
The following people are the reason this library exists:
|
|
466
490
|
|
|
467
491
|
* nesquena [Nathan Esquenazi] - created and maintaining the library
|
|
468
|
-
* achiu [Arthur Chiu] - contributed gitosis, ruby and other recipes
|
|
492
|
+
* achiu [Arthur Chiu] - contributed gitosis, ruby, mongodb and other recipes
|
|
469
493
|
* hubertlepicki - contributed thinking_sphinx recipes
|
|
470
494
|
|
|
471
495
|
h2. LICENSE
|
data/VERSION.yml
CHANGED
data/cap-recipes.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{cap-recipes}
|
|
8
|
-
s.version = "0.3.
|
|
8
|
+
s.version = "0.3.34"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Nathan Esquenazi"]
|
|
12
|
-
s.date = %q{2009-10-
|
|
12
|
+
s.date = %q{2009-10-25}
|
|
13
13
|
s.description = %q{Battle-tested capistrano recipes for debian, passenger, apache, delayed_job, juggernaut, rubygems, backgroundrb, rails and more}
|
|
14
14
|
s.email = %q{nesquena@gmail.com}
|
|
15
15
|
s.extra_rdoc_files = [
|
|
@@ -48,6 +48,9 @@ Gem::Specification.new do |s|
|
|
|
48
48
|
"lib/cap_recipes/tasks/memcache/hooks.rb",
|
|
49
49
|
"lib/cap_recipes/tasks/memcache/install.rb",
|
|
50
50
|
"lib/cap_recipes/tasks/memcache/manage.rb",
|
|
51
|
+
"lib/cap_recipes/tasks/mongodb.rb",
|
|
52
|
+
"lib/cap_recipes/tasks/mongodb/install.rb",
|
|
53
|
+
"lib/cap_recipes/tasks/mongodb/manage.rb",
|
|
51
54
|
"lib/cap_recipes/tasks/passenger.rb",
|
|
52
55
|
"lib/cap_recipes/tasks/passenger/install.rb",
|
|
53
56
|
"lib/cap_recipes/tasks/passenger/manage.rb",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Dir[File.join(File.dirname(__FILE__), 'mongodb/*.rb')].sort.each { |lib| require lib }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../utilities')
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/manage')
|
|
3
|
+
|
|
4
|
+
Capistrano::Configuration.instance(true).load do
|
|
5
|
+
set :mongodb_data_path, "/data/db"
|
|
6
|
+
set :mongodb_bin_path, "/opt/mongo"
|
|
7
|
+
|
|
8
|
+
namespace :mongodb do
|
|
9
|
+
desc "Installs mongodb binaries and all dependencies"
|
|
10
|
+
task :install, :role => :app do
|
|
11
|
+
utilities.apt_install "tcsh scons g++ libpcre++-dev"
|
|
12
|
+
utilities.apt_install "libboost1.37-dev libreadline-dev xulrunner-dev"
|
|
13
|
+
mongodb.make_spidermonkey
|
|
14
|
+
mongodb.make_mongodb
|
|
15
|
+
mongodb.setup_db_path
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
task :make_spidermonkey, :role => :app do
|
|
19
|
+
run "mkdir -p ~/tmp"
|
|
20
|
+
run "cd ~/tmp; wget ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz"
|
|
21
|
+
run "cd ~/tmp; tar -zxvf js-1.7.0.tar.gz"
|
|
22
|
+
run "cd ~/tmp/js/src; export CFLAGS=\"-DJS_C_STRINGS_ARE_UTF8\""
|
|
23
|
+
run "cd ~/tmp/js/src; #{sudo} make -f Makefile.ref"
|
|
24
|
+
run "cd ~/tmp/js/src; #{sudo} JS_DIST=/usr make -f Makefile.ref export"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
task :make_mongodb, :role => :app do
|
|
28
|
+
sudo "rm -rf ~/tmp/mongo"
|
|
29
|
+
run "cd ~/tmp; git clone git://github.com/mongodb/mongo.git"
|
|
30
|
+
run "cd ~/tmp/mongo; #{sudo} scons all"
|
|
31
|
+
run "cd ~/tmp/mongo; #{sudo} scons --prefix=#{mongodb_bin_path} install"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
task :setup_db_path, :role => :app do
|
|
35
|
+
sudo "mkdir -p #{mongodb_path}"
|
|
36
|
+
mongodb.start
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../utilities')
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/install')
|
|
3
|
+
|
|
4
|
+
Capistrano::Configuration.instance(true).load do
|
|
5
|
+
set :mongodb_log, "/var/log/mongodb.log"
|
|
6
|
+
|
|
7
|
+
namespace :mongodb do
|
|
8
|
+
desc "Starts the mongodb server"
|
|
9
|
+
task :start, :role => :app do
|
|
10
|
+
sudo "#{mongodb_bin_path}/bin/mongod --fork --logpath #{mongodb_log} --logappend --dbpath #{mongodb_path}"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
desc "Stop the mongodb server"
|
|
14
|
+
task :stop, :role => :app do
|
|
15
|
+
pid = capture("ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'")
|
|
16
|
+
sudo "kill -2 #{pid}" unless pid.strip.empty?
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
desc "Restart the mongodb server"
|
|
20
|
+
task :restart, :role => :app do
|
|
21
|
+
pid = capture("ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'")
|
|
22
|
+
mongodb.stop unless pid.strip.empty?
|
|
23
|
+
mongodb.start
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cap-recipes
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.34
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan Esquenazi
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2009-10-
|
|
12
|
+
date: 2009-10-25 00:00:00 -07:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies: []
|
|
15
15
|
|
|
@@ -54,6 +54,9 @@ files:
|
|
|
54
54
|
- lib/cap_recipes/tasks/memcache/hooks.rb
|
|
55
55
|
- lib/cap_recipes/tasks/memcache/install.rb
|
|
56
56
|
- lib/cap_recipes/tasks/memcache/manage.rb
|
|
57
|
+
- lib/cap_recipes/tasks/mongodb.rb
|
|
58
|
+
- lib/cap_recipes/tasks/mongodb/install.rb
|
|
59
|
+
- lib/cap_recipes/tasks/mongodb/manage.rb
|
|
57
60
|
- lib/cap_recipes/tasks/passenger.rb
|
|
58
61
|
- lib/cap_recipes/tasks/passenger/install.rb
|
|
59
62
|
- lib/cap_recipes/tasks/passenger/manage.rb
|