BizTalk Deployment using Visual Studio Release Management Walkthrough of Visual Studio Release Management and a closer look on how to use the product to release BizTalk applications About me • Richard Hallgren • richardhallgren.com • CTO at iBiz Solutions Integration Framework #swebug Raise your hands! • How many uses a Version Control System (VCS)? • How many uses Team Foundation Server for VCS? • How many works with Continuous Integration (CI)? • How many uses Team Foundation Server for CI? • How many has automated deployments? • How many uses for Visual Studio Release Management (RM) for automated deployments? Basic flow and concepts using Team Foundation Server and BizTalk Developer A Team Foundation Server VCS Deployment area BizTalk Server Group Developer A Team Foundation Server Build Services Developer A VCS Build Visual Studio Release Management Release Scope What you (hopefully) will learn What you not learn • Simple build and release cycle using TFS and RM • Overview of TFS Build Services and RM • Setup automated builds that generates MSI • Configure RM to release BizTalk solutions • The ins and outs of RM and TFS Build Services • Advances release scenarios Build Using Team Foundation Server Build Services to automate builds of BizTalk solutions Team Foundation and Team Foundation Build Services Visual Studio Team Foundation Server Web browser Team Foundation Server Build Services Build Definitions & source code Deployment area Agent Controller Agent A TFS Build Definition dictates • • • • What part of the source tree to monitor What should trigger a build The actual build process and the steps How long history to keep Build machine Build demo – Simple Build • What you will see • Defined a TFS Build Definition for a BizTalk Solution • Trigger build and check build output and status We need a BizTalk “deployable package” and some bindings! • Problem • • • • Installing into BizTalk requires scripting or manual work When installation into BizTalk we need to add things in the right order A lot of separate dlls creates a problem … Bindings in BizTalk differs between environments • Solution • BizTalk MSIs have most needed functionality built-in! • BtsMsiTask can generate a MSIs using MSBuild without first having to install • Xml Transform task from Build demo - BtsMsiTask • What you will see • Build a BizTalk deployable MSI as part of TFS build process • Create envrionment specific binding files using a .NET standard templating language Release Using Visual Studio Release Management to release BizTalk solutions Visual Studio Release Management Visual Studio Release Management Client Release agent BizTalk Test environment http push Deployment area Visual Studio Release Management Service Release Templates Release agent BizTalk Staging environment Release agent A Release Templates dictates • What tools should be pushed out • What steps to execute for each environment Release agent BizTalk Prod environment Release agent Demo – RM in 5 seconds • What you will see • • • • • • Add your own tools needed for BizTalk deployment Create users, roles and define access in the application Define release templates for each environment Define workflows for what roles that need to approve or reject release Setup and run an artifact release Setup and run a binding release What you did not see • Deploy of pipeline components • Deploy of non BizTalk components • Advanced multi server deploys Questions