Recently in vlad Category

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:

2.1.0 / 2010-07-15

  • 1 major enhancement:

    • Split out rakeremotetask.rb and vladtestcase.rb (in rake-remote_task gem).
  • 4 minor enhancements:

    • Added :type config option, defaulting to rails
    • Moved VladTestCase to Rake::TestCase (in rake-remote_task gem).
    • Moved all Vlad exceptions to Rake (in rake-remote_task gem).
    • Refactored rails specific values out of core. (raggi)
  • 2 bug fixes:

    • Clarified Rake.clear_tasks in faq
    • Fixed output from vlad:invoke (pnc)
  • http://rubyhitsquad.com/

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

Ruby Hitsquad's Newest Members

| | Comments (0)

Kevin Bullock has recently released both vlad-hg and vlad-merb gems.

John Barnette released the vlad-git gem.

They're all available under the hitsquad's project on rubyforge.

Vlad plugin providing perforce support. This was previously available in vlad but all extra modules outside of the core recipe have been removed.

Changes:

2.0.0 / 2009-08-18

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:

2.0.0 / 2009-08-18

  • 1 major enhancement:

    • Removed all extra modules that we don't support in core anymore.
  • 2 minor enhancements:

    • Added test to show that false is a valid variable value.
    • Moved vladtestcase from test to lib to support 3rd party vlad modules.

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.4.0 / 2009-06-23

  • 1 major enhancement:

    • Switched to passenger as default app server.
  • 11 minor enhancements:

    • #rsync now takes ANY number of arguments and expects to you add "host:".
    • Added Rake::RemoteTask#get.
    • Added doco for why we don't ship a deploy task
    • Added links to example maintenance recipes
    • Added multi-env doco to getting_started.txt
    • Added svn-over-ssh faq item. gah.
    • Flipped tests to minitest
    • Merged global #role and Rake::RemoteTask::role.
    • Moved all global methods to Rake::RemoteTask and wrote #external to clean up.
    • Moved rake extensions to hoe so everyone can enjoy the fun.
    • put names the tempfile based on the remote path to ease debugging
  • 2 bug fixes:

    • passenger:startapp wasn't using the latestrelease path
    • set/fetch wasn't dealing with a default of false well. (Seth Falcon)
  • http://rubyhitsquad.com/

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

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

autotest_screen made me happy. Someone much more interested in it took it over and gave it a good loving home. I want to do that with more of my stuff. I've got a lot of plugins for autotest and vlad that need to find good homes.

In return for taking on a plugin I will:

  • make you admin on the rubyforge project (so you can make official releases).
  • gemify it for you.
  • provide a home for it in my perforce repo (if you want).
  • help you get set up to take it over.
  • blog its release to announce its new home.

Autotest Plugins:

  • lib/autotest/camping.rb
  • lib/autotest/cctray.rb
  • lib/autotest/emacs.rb - ben kudria
  • lib/autotest/email_notify.rb
  • lib/autotest/fixtures.rb
  • lib/autotest/growl.rb
  • lib/autotest/heckle.rb
  • lib/autotest/html_report.rb
  • lib/autotest/jabber_notify.rb
  • lib/autotest/kdenotify.rb
  • lib/autotest/menu.rb
  • lib/autotest/migrate.rb
  • lib/autotest/notify.rb
  • lib/autotest/pretty.rb
  • lib/autotest/redgreen.rb - ben kudria
  • lib/autotest/shame.rb
  • lib/autotest/snarl.rb
  • lib/autotest/timestamp.rb

Vlad Plugins:

  • lib/vlad/darcs.rb
  • lib/vlad/git.rb - this is going to Wilson "Metal" Bilkovich
  • lib/vlad/god.rb
  • lib/vlad/lighttpd.rb
  • lib/vlad/merb.rb
  • lib/vlad/mercurial.rb
  • lib/vlad/mongrel.rb - wilson? unless you want it...
  • lib/vlad/nginx.rb - wilson? unless you want it...
  • lib/vlad/thin.rb

If you're interested in any of these (or would like help releasing a plugin of your own for autotest or vlad but don't know how) please drop me a line and let me know.

ETA:

Wilson has stepped up to take nginx and mongrel if nobody else wants them.

Ben Kudria has adopted redgreen and emacs for autotest.

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.2 / 2009-03-16

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/

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.

About this Archive

This page is a archive of recent entries in the vlad category.

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

Pages

Powered by Movable Type 4.32-en