Provision and deploy to an Ubuntu/God/Apache/Passenger stack using Capistrano.
- Provision a solid Ubuntu Hardy application server in one command (
cap ubuntu
) - Deploy PHP, Rails, and Sinatra apps
- Be descriptive about what is going on and allow the user to opt out
- Simplify the deploy.rb file
- Apache
- Git
- MySQL
- MySQLTuner
- Perl
- PHP
- Postfix (relay)
- Ruby
- RubyGems
- Passenger (mod_rails)
- God
- Rails
- Sinatra
- Sphinx
gem install AppTower-ubistrano
capify .
set :ubistrano, { :application => :my_app, :platform => :rails, # :php, :rails, :sinatra :repository => 'git@github.com:user/my-app.git', :ec2 => { :access_key => '', :secret_key => '' }, :production => { :domains => [ 'myapp.com', 'www.myapp.com' ], :ssl => [ 'myapp.com' ], :host => '127.0.0.1' }, :staging => { :domains => [ 'staging.myapp.com' ], :host => '127.0.0.1' } } require 'ubistrano'
Ubistrano uses the same Capistrano options you've come to love, but provides defaults and a few extra options as well.
Feel free to add standard options like :user to the stage groups.
cap ubuntu
================================================================================= Let's set up an Ubuntu server! (Tested with 8.04 LTS Hardy) With each task, Ubistrano will describe what it is doing, and wait for a yes/no. ================================================================================= Have you already created the user defined in deploy.rb? (y/n)
All apps should have a public
directory.
cap deploy:first
cap deploy
Use any capistrano task, but replace cap
with cap staging
.
cap staging deploy:first