Quantcast
Channel: biztalkdeployment Forum Rss Feed
Viewing all articles
Browse latest Browse all 1089

New Post: Using Biztalk Deployment Framework with multiple BizTalk Applications

$
0
0
Hi,

We had a similar requirement for our project where we had one solution containing multiple BizTalk Applications. I came up with a workaround so that the Deployment Framework Visual Studio add-in still worked with multiple .btdfproj in one solution. Taking the above example:

Solution "mySolution"
---Deployment (folder)
------Deployment.btdfproj
---BizTalk (folder)
------"Application1" (Folder)
-----------Deployment (folder)
--------------Deployment.btdfproj
-----------Orchestration
-----------Schemas
-----------Transforms
-----------etc
------"Application2" (Folder)
------"Application3" (Folder)

There was one .btdfproj per application for managing deployment, undeployment, creating msi etc. for each application. At the solution level, I also added a master Deployment.btdfproj file under the Deployment folder. This is the .btdfproj file that the Visual Studio add-in will invoke.

In the master Deployment.btdfproj file, it has a list of targets that matches those that the add-in invokes, e.g. "Deploy", "Undeploy", "Installer". Under each target, it calls MSBuild to subsequently call the "child" .btdfproj in each application in the order defined to carry out the corresponding actions. Below is a sample master Deployment.btdfproj file:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Installer" ToolsVersion="4.0">
  <PropertyGroup>
    <Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
    <DeploymentFrameworkTargetsPath>$(MSBuildExtensionsPath)\DeploymentFrameworkForBizTalk\5.0\</DeploymentFrameworkTargetsPath>
    <ApplicationListToDeploy>..\BizTalk\Application1\Deployment\Deployment.btdfproj;..\BizTalk\Application2\Deployment\Deployment.btdfproj;..\BizTalk\Application3\Deployment\Deployment.btdfproj</ApplicationListToDeploy>
    <ApplicationListToUndeploy>..\BizTalk\Application3\Deployment\Deployment.btdfproj;..\BizTalk\Application2\Deployment\Deployment.btdfproj;..\BizTalk\Application1\Deployment\Deployment.btdfproj</ApplicationListToUndeploy>
  </PropertyGroup>
  <Import Project="$(DeploymentFrameworkTargetsPath)BizTalkDeploymentFramework.targets" />
  <ItemGroup>
    <BizTalkHosts Include="MyHost" />
  </ItemGroup>
  <Target Name="Deploy">
    <MSBuild Projects="$(ApplicationListToDeploy)" Targets="Deploy" Properties="Configuration=$(Configuration)" />
  </Target>
  <Target Name="Undeploy">
    <MSBuild Projects="$(ApplicationListToUndeploy)" Targets="Undeploy" Properties="Configuration=$(Configuration)" />
  </Target>
  <Target Name="Installer">
    <MSBuild Projects="$(ApplicationListToDeploy)" Targets="Installer" Properties="Configuration=$(Configuration)" />
  </Target>
  ... etc.
  </Target>
</Project>
For example, when the Deploy button of the add-in is clicked, it will deploy all the applications in the solution in the defined order.

Hope this helps.

Kit

Viewing all articles
Browse latest Browse all 1089

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>