Rails: March 2009 Archives

Here is the clean and easy way to do multiple environments in vlad. Here is my deploy.rb:

set :application, "proj"
set :repository,  "https://subversion/proj/trunk"

task :beta do
  set :domain,    "localhost"
  set :deploy_to, "/tmp/proj_beta"
end

task :dev do
  set :domain,    "localhost"
  set :deploy_to, "/tmp/proj_dev"
end

task :prod do
  set :domain,    "localhost"
  set :deploy_to, "/tmp/proj_prod"
end

By not specifying domain or deploy_to globally you force the use of an environment whenever you invoke a vlad task:

% rake vlad:debug | egrep "(domain|deploy_to):"
rake aborted!
Please specify the deploy path via the :deploy_to variable

Here is what it looks like with one of the three defined environments:

% rake beta vlad:debug | egrep "(domain|deploy_to):"
domain: localhost
deploy_to: /tmp/proj_beta
% rake dev vlad:debug | egrep "(domain|deploy_to):"
domain: localhost
deploy_to: /tmp/proj_dev
% rake prod vlad:debug | egrep "(domain|deploy_to):"
domain: localhost
deploy_to: /tmp/proj_prod

Dusting off Vlad

| | Comments (5)

VladDustedOff.png

As you can see by yesterday's humongous release, I'm working on getting vlad lively again. My current plan is/was:

  1. [DONE] Get vlad on its feet.
  2. [DONE] Triage all bugs. Fix the biggies.
  3. [DONE] Pull as much as we can from The ClusterFuck™ (aka github).
  4. [DONE] Release 1.3.0
  5. Release 1.3.1 with any fixes from 1.3.0 fallout.
  6. Decide what the current 80% case is for rails these days and possibly change our defaults to fit that.
  7. Find owners for all other vlad plugins, split them off as separate gems (eg: vlad-mercurial, vlad-nginx, etc).
  8. Release 2.0.0, the newer, thinner, prettier vlad. Consider adding bows in vlad's hair.

So, I'd like your feedback:

What is the current favored deployment strategy? (I mean in terms of actual numbers, not this week's popular toy.)

Currently vlad has the following defaults:

  :app    => :mongrel,
  :scm    => :subversion,
  :web    => :apache,

Should any of these change?

ETA:

I just deleted a bunch of comments chock-full with that railz0r "+1" horse-shit. The plural of anecdote is not data. I'm not asking people to vote. I'm asking for actual numbers on big installations out there. I want the few people who own the hardware the slices are running on, not the individuals using the slices.

VladDustedOff.png

Vlad the Deployer is pragmatic application deployment automation, without mercy. Much like Capistrano, but with 1/10th the complexity. Vlad integrates seamlessly with Rake, and uses familiar and standard tools like ssh and rsync.

Impale your application on the heartless spike of the Deployer.

Changes:

1.3.0 / 2009-03-04

  • 9 major enhancements:

    • Added darcs support. (Brian Palmer)
    • Added git support. (Garry Dolley)
    • Added lighttpd support.
    • Added merb support. (Jamie Macey)
    • Added passenger support. (Alan Harper)
    • Added/merged god, nginx, thin, and maintenance tasks. (github clusterfuck)
    • Allow set to specify that a proc value is :per_thread.
    • Apply Mercurial SCM support patch. Closes ticket 13475
    • remote_task now supports args and supplies task (by Daniel P. Kionka).
  • 19 minor enhancements:

    • Add role toplevel method similar to namespace.
    • Added #put method that wraps up Tempfile/rsync pattern.
    • Added #role toplevel method, similar to #namespace.
    • Added FAQ for using vlad through a gateway.
    • Added Phil Hagelburg's one-line multi-stage deployment patch
    • Added rake tracing for rsync command.
    • Added umask variable.
    • Adds specific order to loading. Should fix a number of bugs.
    • Extended vladdemo.sh to allow for N simulated hosts (mostly for testing)
    • Fixed tempfile dependency in #put if you don't load lighttpd or perforce (yipstar)
    • Mercurial now automatically initializes the repository. (Jamie Macey)
    • Moved everything over to put.
    • Now requires rake 0.8.1+.
    • Parameterized 'head' into 'revision' variable (with head as default).
    • Split shared symlink creation to a separate task. (Steve Purcell)
    • Support rake 0.8.
    • Switched to ThreadGroup for Action#execute
    • Updated rakefile for new hoe abilities
    • remote_task :role now allows an empty list of hosts.
  • 11 bug fixes:

    • Fixed vladdemo.rb, now uses my checkout for further stress testing.
    • Moved core recipe to front. Was breaking mongrel setup.
    • Added automatic client setup for perforce.
    • Fix mercurial support.
    • Fixed 'too many files' error.
    • Fixed a lame warning in the tests.
    • Fixed cleanup to actually properly clean up.
    • Fixed rake var doco
    • Moved generic app setup to core from mongrel.
    • SSH flags are now an Array for proper inclusion in the command. (Guillaume Pierronnet)
    • git archive now specifically specifies tar format. (knaveofdiamonds)
  • http://rubyhitsquad.com/

  • http://rubyforge.org/projects/hitsquad/

About this Archive

This page is a archive of entries in the Rails category from March 2009.

Rails: February 2009 is the previous archive.

Rails: April 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 4.32-en