Thursday, 23 October 2014

Demo Release Template for VS 2013 Release Management – Part 1

Release Template defines how the deployment happens in the Release Path in VS 2013 Release Management. Downloading build output to deployment machine, installation of various software components in different machines in the environment, setting up configurations, parameters etc., rollback deployment on failure are few of the actions executed as defined in a release template. Different deployment sequence can be defined for each stage of the release path.
To define a release template Click New on Configure Apps tab of the VS Release Management Client.
001
Provide a name for the release template
002
Select the Release Path
003
Since the TFS is integrated with the release management server, we can select a build definition that can be used to obtain the deployment package/payload.
Select the Team Project
004
Then select the build definition which is generating output.
005
The  purpose of “Can Trigger a Release from a Build” is to allow triggering a Release from the TFS build. But this requires some additional steps in Build templates and definitions which I will explain in a future post.
Security tab can be used to configure following permissions for Release Management users or groups.
006
View – Can view this Release Template
Edit – Can edit this Release Template
Can Release – Can trigger a release using this Release Template
Manage Security – Can edit permissions for this Release Template
Click on Create to save the release template
007
The above shown window can be opened by clicking the properties link below and edit the properties of release template after creation.
008
Since our release path had three stages DevInt, QA and Prod we can define a deployment sequence for each of these stages.
009
You can see the tags we have defined in each environment appears in left toolbox under tags. Since we are using the same server machine for this demo there is only one and same server in each stage.
010
In the second part of this post, I will explain how to define a simple deployment sequence.

Wednesday, 8 October 2014

Setup Release Path in VS Release Management

Release path in VS Release Management defines the order of the stages of the release pipeline for a given software product/project. Release path can be used to configure in which order build output gets deployed to environment specified in each stage  (Dev Integration, QA, UAT, Production etc.) and who accepts approves each step in a controlled workflow.
Configuring release path is a prerequisite to set up a release template which controls the deployment to each environment in release pipeline stages.
001
Navigate to Configure Paths – > Release Path in Release Management Client.
002
Click New to create new release path and provide a name and a optional description.
003
Click Add on Stages tab to configure the first stage.
004
The first stage is going to be DevInt in this demo. Select the environment getting deployed in this stage. (Environment visible and allowed to select in each stage can be controlled using environment Stage Type Security).
005
Deployment to the stage can be set to approve manually or automatically. If manual notification email can be configured and will be sent to the Approver or Group, and the Approver can use Release Management Client or Web Application link in email to visualize the release progress and approve/reject it (Approve to be deployed in later date and time is also possible).
Deployment step execution will be notified to the owner if configured. Validator can validate the deployment and approve/reject deployment to be tested by the stage approvers. When the stage approvers approve the stage deployment will flow to the next stage in the release path.
006 
Similarly can be setup for QA and Production stages, and for the demo everything is set to automated. Since ) Approvers for each stage below deployment will run next stage in release path if succeeds in the current stage.
007
Next step is to define a release template using the Release Path.
008