[Update 19th Apr 2012] - mission complete!...v2.4.0 of Wolfpack has been released and this includes a new set of plugins that can automatically download a NuGet package then execute a deployment tool (eg: DropkicK, MSBuild.exe) - it can even run NUnit tests (via the console runner).
Another day, another project and deployment raises its head...
Thinking that this problem must have been cracked by now I had a look around the .Net landscape and found two interesting solutions.
- Octopus Deploy - a .Net convention based deployment system using NuGet packages, loosely based on AppHarbour's approach.
- DropkicK (aka DK) - another awesome initiative from Dru Sellers et al.
Hmmm, this has got me thinking - Wolfpack could easily be adapted to be used as a deployment agent.
Wolfpack can already monitor a NuGet feed for new package releases and currently sends an alert if a new version of a package is detected; a small modification would enable it to instead pull down and install the package. The package format would be NuGet and it would use DK to do the "install" (included in the package itself, Tools folder with some convention to find the DK deployment implementation dlls).
You would create a NuGet feed per environment you need to deploy to. Each target machine would be running Wolfpack (akin to an Octopus "Tentacle") which would be configured to monitor the associated (correct environment) NuGet feed. "Deployment" would simply consist of publishing the package to the feed, from this point on it would be automated by Wolfpack, detect, download, deploy -> after which Wolfpack would publish an alert to let you know what the outcome was (success/fail) plus some stats.
Would I ever build this Wolfpack feature? I dunno, lets see...it's not a lot of code and it would give me an excuse to really play with DropkicK!
Anyone interested in a deployment mashup with Wolfpack + NuGet + DropkicK?