seven1m / onebody

OneBody is free, open-source, web-based social networking and online directory software for churches.

onebody / lib / recipes / setup.rb
87907b36 » seven1m 2008-06-24 Improved Cap recipes. 1 namespace :deploy do
2112f3d9 » seven1m 2008-06-25 Improved deployment recipes. 2
3 task :before_setup do
4 sudo "mkdir -p #{deploy_to}"
5 sudo "chown #{user}:#{user} #{deploy_to}"
6 end
7
8 namespace :shared do
87907b36 » seven1m 2008-06-24 Improved Cap recipes. 9
e2572b27 » seven1m 2008-08-13 Capistrano recipe cleanup. 10 desc 'Setup shared directories'
2112f3d9 » seven1m 2008-06-25 Improved deployment recipes. 11 task :setup do
e2572b27 » seven1m 2008-08-13 Capistrano recipe cleanup. 12 Dir[File.dirname(__FILE__) + '/../../db/**/*'].each do |path|
13 next if path =~ /migrate/
14 next unless File.directory?(path)
15 run "mkdir -p #{shared_path}/db/#{path.split('db/').last}"
16 end
2112f3d9 » seven1m 2008-06-25 Improved deployment recipes. 17 run "mkdir -p #{shared_path}/config"
18 run "mkdir -p #{shared_path}/public"
19 run "mkdir -p #{shared_path}/themes"
87907b36 » seven1m 2008-06-24 Improved Cap recipes. 20 end
2112f3d9 » seven1m 2008-06-25 Improved deployment recipes. 21 after 'deploy:setup', 'deploy:shared:setup'
87907b36 » seven1m 2008-06-24 Improved Cap recipes. 22
c4fb08d8 » seven1m 2008-08-17 Clean up setup cap recipe. 23 end
24
25 task :after_setup do
26 run "cd #{release_path}"
27 sudo "rake gems:install"
28 run "mysql -u root -e \"create database onebody; grant all on onebody.* to onebody@localhost identified by '#{get_db_password}'\""
29 yml = render_erb_template(File.dirname(__FILE__) + '/templates/database.yml')
30 put yml, "#{shared_path}/config/database.yml"
87907b36 » seven1m 2008-06-24 Improved Cap recipes. 31 end
fdea32d9 » seven1m 2008-08-17 Change after_deploy task to... 32
33 task :after_update_code do
34 rb = render_erb_template(File.dirname(__FILE__) + '/templates/links.rb')
35 put rb, "#{release_path}/config/initializers/links.rb"
36 run "cp -r #{release_path}/public/* #{shared_path}/public/"
37 run "ln -sf #{shared_path}/config/database.yml #{release_path}/config/database.yml"
38 end
2112f3d9 » seven1m 2008-06-25 Improved deployment recipes. 39
c4fb08d8 » seven1m 2008-08-17 Clean up setup cap recipe. 40 end