Share this

Best approach to automate the BizTalk deployment process

I  believe being a software developer one of the primary goal is to help people to automate their manual process/task in their business/work to make them more efficient and productive. And in the same way automating the BizTalk deployment process makes the team more efficient and productive.This reduces deployment time and also error during deployment, and adds stability to deployment process. Even for small environment we use should use automatic deployment process. There is already a very good article written by a friend of mine, and my colleague in one of my previous company, Vikas Bhardwaj  which talks about the BizTalk deployment using BTDF and PowerShell. But here in this post I want to go a step back and discuss the process/approach to come up with automation deployment plan for your BizTalk Environment. In my current job I do BizTalk Health Check for many customer and still I find most of them are using the manual deployment process. For one of the customer I have been assigned the task to help them to automate their BizTalk deployment process. I can use one of the following approach to accomplish the task. Approach 1:
  1. Go through their last deployment or the current deployment (if there is any) and then create the script to automate it by using BTDF or PowerShell or something else.  And once it’s complete and tested walk them through the script I have created.
  2. Now customer can use this for current deployment but what would happen for the next deployment which can be a
    • Partial or full deployment
    • Number of artifacts and application may increase\decrease.
  3. Chances are that they would be able to update the script for the changes or they can go back to their manual deployment if they are not able to update the script.
  4. They can again reach out to me or some other consultant to update the script as per the changes.
Approach 2:
  1. Ask customer to explain me the current manual deployment steps. Check if deployment document exist else help them to create one. Idea here is to make them understand what exact task requires for their manual deployment and have them documented.
  2. Next thing would be to help them understand which all tasks in the document can be automated by using BTSTask commands . BTSTask can be used to perform most of the tasks that are found in the BizTalk Administration Console.
  3. Now I will ask them to create a script using BTSTask command-line tool for the task identified by referring the scripts available in SDK samples of BizTalk.
  4. This would give them clear picture of time and effort saved by using the scripts. For example if a deployment was taking 2 hours and after the above exercise they reduced it 1.5 hour, it’s a good value for the exercise they did.
  5. Now I can pitch in here and can add value by improving the script using whatever framework & technology which further reduce their deployment time and effort. For example deployment time form 1.5 hours to 1 hours and also without any further dependency on me for updating the script going forward (change/update is inevitable :)).
I always try to use the 2nd approach until unless customer is very much asking for the 1st one. Feel free to share any other approach in the comment which has worked for you or can be better than above mentioned. Related Links: https://social.msdn.microsoft.com/Forums/en-US/79a668e5-abed-48bf-a446-668ba9f0c03a/automating-biztalk-deployment?forum=biztalkgeneral https://social.msdn.microsoft.com/Forums/en-US/55687d0f-65b6-4c0d-aaeb-38fc966b042d/deployment-best-practice?forum=biztalkgeneral http://blogs.msdn.com/b/brajens/archive/2007/03/25/creating-automated-build-script-for-biztalk-using-msbuild.aspx

Loved this? Spread the word


Gautam

Follow me here

About the Author

My name is Gyanendra Kumar Gautam. I am Solution Consultant, who basically works to hook the stuff together using Microsoft technologies like Azure PaaS, Azure Serverless Services, Microsoft BizTalk Server, and Azure DevOps Services.

You may also like

The source was not found, but some or all event logs could not be searched. To create the source, you need permission to read all event logs to make sure that the new source name is unique. Inaccessible logs: Security.

Yesterday this error came for one of the deployment on production. But the same deployment was working fine on staging environment. A message received by adapter “MSMQ” on receive location “RL_XYZ_RES_09” with URI “FORMATNAME:DIRECT=OS:.\PRIVATE$\XYZ_RES_09” is suspended. Error details: There was a failure executing the receive pipeline: “BTSHttpDecoder.DecoderPipeline, BTSHttpDecoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5793a821957af7d1” Source: “MessageDecoderPipelineComponent_F09” Receive Port:

Read More

BizTalk Project Template is missing in Visual Studio 2012

I ran couple of times into this issue so thought of documenting it here. So first of all development of BizTalk Server 2013 application is only supported on Visual Studio 2012. In short, to get BizTalk Project Template do the following steps: Install Visual Studio 2012 Install SQLServer2012 or SQLServer2008R2 SP1 Install BizTalk Server 2013  – Select (mark

Read More

There is no value associated with the property ‘BTS.MessageID’ in the message.

In the following orchestration (This is the HelloWorld sample application at C:\Program Files (x86)\Microsoft BizTalk Server 2013\SDK\Samples\Orchestrations\HelloWorld\)     Inside the message assignment shape I have added the following code. System.Diagnostics.EventLog.WriteEntry(“HelloWorld”,InvoiceMessage(BTS.MessageID)); Now when I deploy and test the HelloWorld application, I get the following error xlang/s engine event log entry: Uncaught exception (see the ‘inner exception’ below)

Read More

Never miss a good story!

 Subscribe to my blog to keep up with the latest news!