Today I published on CodePlex my first project, Sprinkler.

It is both a tool and a framework, based on Powershell v2, aimed at simplifying deployment of applications, especially BizTalk-based. It stands on the shoulders of giants as it extends the Deployment Framework for BizTalk: this latter is focused on deploying a single BizTalk application, while Sprinkler manages multiple BizTalk applications and multiple servers.

Notable features are:

  • Parallelization of execution — the tool must be run on all servers of the farm and will operate concurrently as much as possible, reducing deployment time window;
  • Can be run from a central location by leveraging Powershell v2 remoting;
  • Script based — requires Powershell v2, no additional component to install on any server; you can Zip everything and send it to a different site;
  • Flexible layout — keep all the files in a single share or spread them in different locations to keep sensitive information in a safe place or in a read-only folder;
  • Simple configuration — all parameters for execution are contained in just two files;
  • Interactive and unattended mode — an menu driven wizard helps choosing the script to run and its parameters;
  • Complete and centralized logging in plain text files;
  • Can execute sections of code in 32-bits for compatibility;
  • Rich library for operating BizTalk — stopping host instances, setting host adapters, starting and stopping applications in order, BRE rules managing;
  • Add new scripts and functions that leverage all above features.

Feedback is more than welcome, and apologize for bugs and lack of documentation.