We can automate release process of different types of applications like web applications, databases, reporting projects etc using release management. Here I am trying to give an overview of basic configurations and deployment set up of a web application.
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 three components in release management:
Download “Release management for visual studio 2013 with update 2 RC”. It includes RM Server, RM Client and deployment agent. Install RM Server and RM Client in the build machine and deployment agents in the target servers, where we are going to deploy the application.
RM client is a WPF application and which is used to configure different settings in RM server and RM Service. Important roles of RM client are:
In RM client we have to configure TFS Connection, servers, stage types, environment etc. Below sections describes the required step to be done prior to the release and finally triggering automated application release.
We should create TFS connections to connect with different team project collections. We can connect to any version of TFS. Below screen shows the TFS connection page.
Click on the new button to create a new connection.
Provide 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 showing in the above screen.
NB: Before using the service user for RM/TFS integration, we should add the user/group into TFS by running the below command in visual studio command prompt.
Tfssecurity /g+ “ Team Foundation Service Accounts” n:RMTFSINT ALLOW /server:http://localhost:8080/tfs
: Account name, Team Foundation Service Accounts
: group of service accounts belongs to and http://localhost:8080/tfs
: tfs url.
After providing the account name and password, click on verify link as showing above.
After save and close TFS account will be created and listed as in the below screen.
Stage Types & Technology Types
In stage types, we can define different stages or release paths of deployment. Those can be staging production etc. Click on stage types as shown in the below screen.
Click on add button in the stage type page and different types.
Technology types doesn’t get used anywhere in release but this is a Meta data and it’s used to categorize and organize things.
Servers & Environments
From the configure paths Home page, go to servers page as showing below. Before adding servers here, we should deploy deployment agent in the server. We can add server manually or scan servers where we deployed the deployment agent already using new button on top right corner showing below.
Scan for new will give following pop up if deployment agent installed in the server which is accessible.
Here we should create different environments like dev, prod etc. We can select servers, supported technologies and stage type security.
In release paths, we can create different stages of the deployment and link corresponding environment and define required work flows. We are able to define security of the release path as well.
Components contains Source, Deployment, configuration variables and release template using components.
Here we can select different build options and specify the location of the build drop location.
We can select the tool to deploy the application. In the below screen XCopy deployer is selected and which is used to simply copy the files to the destination. Installation path is argument their which we need to provide when we add it in the release template.
Configuration variables are important when we handle with complex scenarios like doing some actions before installation, after installation etc.
Release templates using component
Release template using component will lists the release templates where this component is used.
Release template is the blue print of the release. Here we should select the release path and build definition from TFS.
We can perform different actions during the deployment such as configuring app pool, create web application etc. using the tool box in the left pane. Below screen shows an example of release template screen. Similar work flow we can create for other stage types (QA, Prod).
Once we done with creating the release template, the last and final thing is to create the release. Release will trigger the release process which we defined in earlier steps. To create a release, go to release and click New button. Below screen shows the new release template create screen.
We should select release template for the release
Target stage defines, up to what stage this release can be go. We can restrict release to production or QA for this release, if needed.
Build should be selected here and it is from the drop folder. 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 Draft. The release kik off will be happened if we click start here. See the below screen with one release is in progress.