Release Management For Visual Studio 2013, Configuration Guide

Overview

With release management in Visual Studio, we can configure, approve and deploy our applications for any environment. Create automated deployment orchestrations for each environment no matter how complex the configuration. Delivering our software more frequently and easily to an environment allows your testers to get to work validating your system and keeps your stakeholders involved in giving feedback.

There are the following three components in release management:

  • Release Management Server
  • Release Management Client
  • Deployment Agent

 Prerequisites

Download “Release management for Visual Studio 2013 with update 2 RC”. It includes a RM Server, a RM Client and a deployment agent. Install RM Server and RM Client in the build machine and deployment agents in the target servers where we will deploy the application.

RM Client


The RM client is a WPF application and is used to configure various settings in the RM server and RM Service. The important roles of the RM client are:
  • Release management configuration
  • Building release pipeline
  • Define release template
  • Trigger Kick off release

 In the RM client we must configure the TFS Connection, servers, stage types, environment and so on. The following sections describe what must be done prior to the release and finally triggering the automated application release.

TFS Connection


We should create TFS connections to connect with various team project collections. We can connect to any version of TFS. The following screen shows the TFS connection page. 
 
TFS Connection 

 

Click on the new button to create a new connection.

TFS Connection 1

Provide the TFS URL, project collection name and we should provide a user account to set the identity of the connection. This account is used in release management to talk to the Team Foundation Server. The user identity can be set in the “connect as” section shown in the preceding screen.

NB: Before using the service user for RM/TFS integration, we should add the user/group into TFS by running the following command in a Visual Studio command prompt.

Tfssecurity /g+ “ Team Foundation Service Accounts” n:RMTFSINT ALLOW /server:http://localhost:8080/tfs

Where RMTFSINT is the Account name, Team Foundation Service Accounts is the group that the service accounts belongs to and http://localhost:8080/tfs is the TFS URL.

TFS Connection 2

After providing the account name and word, click on the verify link as shown above.

TFS Connection 3 

 After saving and closing TFS an account will be created and listed as in the following screen.

 Stage Types and Technology Types

In stage types, we can define various stages or release paths of deployment. Those can be staging, production and so on. Click on stage types as shown in the following screen.

TFS Connection 4 

Click on the add button in the stage type page and different types.

TFS Connection 5

Technology Types

Technology types are not used anywhere in release but this is metadata and it's used to categorize and organize things.

Technology Types

Servers and Environments

Servers

From the configure paths Home page, go to the servers page as shown below. Before adding servers here, we should deploy a deployment agent in the server. We can add the server manually or scan for servers where we deployed the deployment agent already using the new button on the top right corner as shown below.

 Servers Environments

Scan for new will provide the following pop-up if the deployment agent was installed in the server that is accessible.
 
Servers Environments 1

Environments
 
Here we should create multiple environments, like development, production and so on. We can select servers, supported technologies and stage type security.

Environments

Release Paths

In release paths, we can create various stages of the deployment and link a corresponding environment and define required work flows. We are able to define the security of the release path as well.

Release Paths 

Components
 
Components contain Source, Deployment, configuration variables and release template using components.

 

Source

Here we can select various build options and specify the location of the build drop location.

Source

Deployment

We can select the tool to deploy the application. In the following screen the XCopy deployer is selected and that is used to simply copy the files to the destination. The installation path is the argument that we need to provide when we add it in the release template.

Source 1

Configuration variables

Configuration variables are important when we handle complex scenarios like doing some actions before installation, after installation and so on.

Configuration variables 

Release templates using component

A release template using a component will list the release templates where this component is used.

Release templates using component

Release Templates

Release template is the blueprint of the release. Here we should select the release path and build definition from TFS.

Release Templates 

We can do various actions during the deployment such as configuring the app pool, create a web application and so on using the tool box in the left pane. The following screen shows an example of the release template screen. A similar workflow we can create for other stage types (QA, Prod). 

Release Templates

Releases
 
Once we are done with creating the release template, the last and final thing is to create the release. The release will trigger the release process that we defined in earlier steps. To create a release, go to release and click New button. The following screen shows the new release template create screen.
 
Releases 
  • We should select the release template for the release.
  • The Target stage defines, up to what stage this release can go. We can restrict the release to production or QA for this release, if needed.
  • Build should be selected here and it is from the drop folder. The drop folder we already defined in the component and the component is added to the release template.

 We can click start, if we are done with the release or it can be saved as a Draft. The release kick-off will happen if we click Start here. See the following screen with a release is in progress.

Releases 1

Conclusion

Release management for Visual Studio 2013 provides a great platform to automate the release process including an approval processes. I hope this article helps you to configure your RM environment.

Thank you for reading.