One Line Multi-Stage Deployment for Vlad:
Kernel.load "config/deploy_#{ENV['to']}.rb" if ENV['to']
Making this elegant line possible:
% rake vlad:deploy to=qa
Coming Soon™ to a Vlad near you!
One Line Multi-Stage Deployment for Vlad:
Kernel.load "config/deploy_#{ENV['to']}.rb" if ENV['to']
Making this elegant line possible:
% rake vlad:deploy to=qa
Coming Soon™ to a Vlad near you!
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.
5 major enhancements:
6 minor enhancements:
1 bug fix
I just finished writing up a lighttpd plugin for Vlad so I can switch my textdrive projects over. I had a problem where firing up lighttpd would hang. I knew there wasn't any IO it was actually waiting on, it was just hanging...
After googling I found a similar bug regarding capistrano having the same problem and the workaround offered works beautifully!
The solution/workaround is to forcibly detach all IO from the process:
#{web_command} -f #{lighttpd_conf} </dev/null >/dev/null 2>&1
For non-unix geeks, this:
2>&1)/dev/null/dev/null to stdinBy doing this, ssh doesn't hang around waiting for more stuff to happen. This is specific to lighttpd, but I'm guessing there are other daemons out there with similar problems.
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.
2 (important) bug fixes:
Comparing flog scores of the upcoming Vlad 1.1 + dependencies to capistrano + dependencies:
vlad = 801.703121839339 + 2852.62383908144
cap = 11480.3919695285
ratio = cap / vlad
= 3.141588613252 # <-- zomg! look here!!!
ratio - Math::PI
= -4.04033779499713e-06
target = cap / Math::PI
= 3654.32226116592
target - vlad
= -0.00469975485839313
EDIT: Cleaned up for the terminally ADD. You'd think arithmetic was hard...
ADDED: From Wilson:
"What I'm seeing here is that the endless cycle of creation and destruction cried out for a hero... and Vlad answered the call"
"The Ruby Hit Squad has been activated"... that was the message I sent people, and less than 2 weeks later, it happened.
From Saturday, August 4th to Tuesday, August 7th, the Ruby Hit Squad was in full effect. We flew in the prodigious Wilson Bilkovich from Florida, holed ourselves up, and 4 days later we had an all but polished product: Vlad the Deployer.
Severely tired, it took a little while to get the last of it polished off, but we finally got Vlad out the door. We did 94 commits in the first 4 days, and another 42 following to get the release polished up and out the door. It is probably the best that Eric or I have done wrt spit and polish on a 1.0 release, with impl, tests, a fairly complete website, and rdoc. I'm quite happy with it.
I had sooo much fun doing this. I hope that the hit squad can be activated again soon... Right after my nap.
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 major enhancement