BizTalk Continuous Deployment with Visual Studio Team Services (VSTS)

This blog post is to go along with my Integration Monday talk: http://www.integrationusergroup.com/biztalk-continuous-integration-continuous-deployment

Prerequisites

Your BizTalk Solution needs to be using BTDF (https://biztalkdeployment.codeplex.com/)

You need a Visual Studio Team Services Account (https://www.visualstudio.com/)

You need the drop folder from a BizTalk Build (BizTalk Continuous Integration with Visual Studio Team Services (VSTS) or BizTalk Continuous Integration with Team Foundation Server (TFS) 2015 Update 1 )

PowerShell Scripts using in VSTS Release Management (https://github.com/Mexia/BizTalkCICD)

Modification to the BTDF EnvironmentSettings.xml file required for VSTS Release Management

Add a Column for Release Management with Settings File Name: Exported_RMSettings.xml, add #{} around the name of the settings for use by Release Management

 

image

Steps to Create a Release in VSTS

Open the VSTS Team Project that the BizTalk Solution is in, go to the Release Tab  

clip_image002
Click the + to create a new release definition  

clip_image004
Select Empty

Click OK

 

clip_image006
Enter the Name for the Release Definition  

clip_image008
Click Save  

clip_image010
Click Artifacts  

clip_image012
Click Link an artifact source  

clip_image014
Select the Project and Build

Click Link

 

clip_image016
Click Configuration  

clip_image018
Click Triggers

Note: current solution is not using any global configuration variables

 

clip_image020
Click General

Note: current solution is not using Continuous deployment, this will depend you client requirements

 

clip_image022
Take default for Release name format

Click History

 

clip_image024
History will show changes to the release definition and includes a diff function

Click Environments

 

clip_image026
Overtype the name of the environment, this sample uses Test  

clip_image028
Right click on the ellipse

Click Assign Approvers

 

clip_image030
Click OK

Note: It is possible to have a pre and post deployment approver for the release

 

clip_image032
Right click on the ellipse

Click Agent options

 

clip_image034
Select “Default” for Default queue, add environment equals test to the Demands

Click OK

Note: Via the Demands we can control what machine the deployment goes to

 

clip_image036
Right click on the ellipse

Click Configure variables

 

clip_image038
Enter the Name of the Settings from the EnvironmentSettings.xml and the values for the Test environment

Click OK

 

clip_image040
Right click on the ellipse

Click Security

 

clip_image042
Take the default

Click Close

Note: This is where permissions are set on who can do what around the release definition

 

clip_image044
Configure as Shown

Click the pencil at the end of the name

 

clip_image046
Click Save  

clip_image048
Click Add task  

clip_image050
Select PowerShell, Click Add

Click Close

 

clip_image052
Click the ellipse at the end of the Script filename  

clip_image054
Expand the Build, Expand the drop and select InstallBizTalkApplication.ps1

Click OK

 

clip_image056
Click Save  

clip_image058
Click Release, Select Create Release  

clip_image060
Select the build that is to be released, Select the environment that it is to be released to

Click Create

 

clip_image062
The Release has been queued  

clip_image064
Double Click on the Relapse to view it progress  

clip_image066
This release has completed successfully

Click Close

 

clip_image068

Thanks for your time and I look forward to helping people on their BizTalk CI & CD journey

Comments are closed.