MarraLAB for Visual Studio - Your New DDE (Debugging, Deployment Environment)
Traditionally, esoteric knowledge on how to tear down, troubleshoot and debug applications has been difficult to surface, discover and reuse among teams: MarraLAB solves this problem. MarraLAB helps teams graphically surface solution-specific scripts, processes and workflows ...
CREATED BY: Grey Ham (BrekIT)
SUPPORTS Visual Studio 2012
LAST UPDATED 5/31/2013
Please see the extensive Getting Started guide which covers most of the functionality of MarraLAB in a Walkthrough / Tutorial style.
MarraLAB tightly integrates into Visual Studio to help developers automate their repetitive programming and debugging tasks when working across physical/virtual machines and devices.
Do I need MarraLAB?
- Would you like to 'Attach to Process...' with a single click on local and remote processes?
- Would you like to build and deploy projects by dragging a Visual Studio Project onto a running machine?
- Would you like to be able to run complex scripts to setup target machines for debugging?
- Would you like to automate mundane development and debugging tasks and allow your development team to easily reuse that knowledge?
If your answer to any of those question is "Yes", then consider trying MarraLAB. This version is FREE!
What does MarraLAB do?
MarraLAB associates rules and scripts with files, filetypes (ie: by extension or file pattern) or Visual Studio Projects. When projects or files are dropped onto a target device (thumbnail) you are given the choice of executing any associated scripts.
These scripts are written by yourself (with lots of help from MarraLAB) and might include building a project and deploying it to the drop target. The script might know that dropping a .REG file onto a device means to import its contents into the remote registry. That a file with a .MSI extensions needs to be installed. And as the scripts are written in PowerShell, there is no limit to what you can do: with creativity, you can use the same principles to deploy troubleshooting tools and configuration changes to a remote machine.
And all of this knowledge can be surfaced graphically and shared with your team.
Some examples please...
For example: out of the box, MarraLAB provides a generic 'copy' Rule that knows how to deploy any File or Folder dropped on a target device - the user is given the option of which script to execute for the matched file pattern:
MarraLAB can also be used to automate the building and deploying of a Visual Studio Project/Solution or the installation of your common Troubleshooting Tools. For example:
To get the best out of MarraLAB, it is recommended the MarraLAB Agent (provided inside the VSIX download) be installed on your target machines (Vista SP2+). The Agent is a lightweight, native C++/ATL/COM/HTTPS-based System Service that provides a much better experience for developers using MarraLAB: instead of worrying about configuring file permissions, opening ports and modifying your system to cater for remote administration, the Agent opens up a single port on the remote test machine and provides powerful file transfer, process and session management functionality.
Supported Operating Systems
The MarraLAB Visual Studio Package is supported on Visual Studio 2012 Professional and above. MarraLAB will not work with Visual Studio 2012 Express.
The MarraLAB Agent (optional - but recommended for devtest machines) is supported on all operating systems from Windows Vista SP2+ and above.
This is the first Beta release of MarraLAB. An entirely free version of MarraLAB with unlimited usage rights will always be available in future that provides "at least" the functionality available in this Beta.
A paid "Professional" Version will be made available around August/September 2013 that will provide much more functionality. More on that and what it will contain nearer the time.
Don't see something like this, with this level of features, every day. Looks pretty darn cool and I like the option for the Agent. I've been there, done that, where creating a local agent as a command proxy is just so much easier than trying to get remote admin stuff all configured and working.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)