-
Notifications
You must be signed in to change notification settings - Fork 2
Deploying Rails applications with ShadowPuppet and Capistrano
wrecked/shadow_rails
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project is meant to be forked and modified for your own use. It illustrates using ShadowPuppet to manage system configuration and Capistrano for deployment. Please note: * only works on Ubuntu 8.10 * runs on a completely clean install and assumes the user is 'rails' * if you hate your life, blindly run on a production system. * only installs one kind of Ruby. edit bin/bootstrap to select enterpriseyness. * no root mysql passwd set. * database name is 'name_production' and username is 'name'. update config/database.yml * look at all the things you aren't giving cute names. * you can edit passenger conf files in ./templates * assumes a single server architecture. * bootstrapping is slow due to compiling REE and passenger from scratch to support 64bit. * capistrano output is crazy noisy for bootstrap. use 'cap -q'. * use at own risk. To get started: 1. Fork and clone this project. 2. Update shadow_rails/application_manifest.rb with your information and packages. Commit. Push. 3. Add the following to config/deploy.rb: ############################################# # set user that can write to /u/apps and has sudo privs. set :user, "rails" # set your github clone url set :shadow_repository, "git://github.com/wrecked/shadow_rails.git" namespace :deploy do desc <<-DESC Bootstrap the system with Git, Ruby, Gems, ShadowPuppet, and ShadowFacter. Setup cap directories. DESC task :bootstrap do sudo "apt-get install -q -y git-core" run "git clone #{shadow_repository}" sudo '~/shadow_rails/bin/bootstrap' end desc <<-DESC Pull latest manifest and apply. DESC task :apply_manifest do run "cd shadow_rails;git pull" sudo 'shadow_puppet shadow_rails/application_manifest.rb' end before :deploy do apply_manifest end before 'deploy:migrations' do apply_manifest end desc <<-DESC Restart the Passenger processes on the app server by touching tmp/restart.txt. DESC task :restart, :roles => :app do run "touch #{current_path}/tmp/restart.txt" end end ############################################# 4. run 'cap -q deploy:bootstrap' to bootstrap the server. 5. run 'cap deploy' to apply manifest on the server before deploy.
About
Deploying Rails applications with ShadowPuppet and Capistrano
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published