I attended the four-day Visual Studio Live! 2014 Conference in Chicago, where different speakers focus on different Microsoft technologies (more information can be found here). One of the courses that drew my attention was Visual Studio (VS) Release Management, a product that I will summarize for you below.
VS Release Management is a tool that Microsoft purchased from another company and adapted it to work with Visual Studio and Team Foundation Server (TFS). The purpose of this tool is to improve and automate the delivery process of your software to multiple environments. Basically, it takes the builds from TFS and runs through the approval process – a coordination of development, operations, and quality assurance. Once the release is approved, it proceeds with the installation.
The VS Release Management provides a desktop-based control panel to enable the administrators to configure the delivery process by defining steps to map the release process. The admin can visually create configuration paths that represent the environments where the application will be released to. During the configuration process, the work flow is also established. The work flow automates different steps throughout the delivery process such as: copy files, provision IIS environment, determine reviewers and approvers, install MSIs, schedules, etc. The nice part about this is that the same configuration can be used to deliver other applications (with any minor adjustments). Basically, the admin can create templates and re-use them for different environments.
Once Release Management is set up properly, then the magic happens! Again, the main purpose of this tool is to make the delivery process seamless. The faster the application is delivered, the quicker the admin can get feedback from end users. The process can be set up and scheduled so that it first deploys the application to the test environment. Once the development team tests and approves it, it deploys the application to the QA environment. Then once the QA team tests and approves it, it can deploy the application to the production environment. The entire process can be initiated with a single click and scheduled to run on specific times to minimize the down time effect.
One of the drawbacks that caught my attention is the agent. In order to deliver the application to an environment, Release Management requires installing an agent on that environment. Although there is a simple fix to this issue, problems may arise when delivering to a client whose servers are not already supported by Release Management. In those cases, you may not have proper permissions to install the agent or the client may not like the idea of installing an agent application on their servers.
Release Management would improve and simplify the delivery process of projects or applications, and cut down the hours spent to deliver the changes manually. Once this tool is set up properly, you can use it to deliver the application as often as you want, and get quick feedback from different users.
For more information, click here to view product features and purchasing options.