Déployer un site IIS avec BTDF

Tanguy SCHOUBERT
Publié par Tanguy SCHOUBERT
Catégorie : BizTalk / DevOps
18/02/2019

Pour exposer un web service dans Biztalk, il est possible d’utiliser le Biztalk WCF Service Publishing Wizard. Cet assistant, entre autres, génère un site IIS. Dans un objectif de déploiement automatisé, il peut être utile d’inclure ce site IIS et sa configuration dans un projet de déploiement BTDF.

 

Pour ce faire, il convient en premier lieu d’inclure le site IIS au projet Visual Studio, dans un dossier solution WebServices par exemple. Pour trouver les éléments à ajouter il suffit, dans IIS, de faire un clic droit sur le site, puis Explore. Voici ce qui devrait avoir été ajouté dans Visual Studio :

 

BTDF ajouter site iis

 

Une petite modification est nécessaire dans le fichier Web.config. En effet juste après la balise <system.serviceModel> il faut ajouter :

 

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>

 

À titre d’exemple, voici ma configuration <system.webServer> (j’utilise une authentification Basic) :

 

<security>
<authentication>
       <anonymousAuthentication enabled="false" />
       <basicAuthentication enabled="true" />
       <windowsAuthentication enabled="false" />
       </authentication>
       <authorization>
       <remove users="*" roles="" verbs="" />
</authorization>
</security>

 

Il faut ensuite éditer votre fichier .btdfproj en ajoutant les lignes suivantes et en spécifiant l’AppPool que vous souhaitez utiliser :

 

<VDirList Include="*">
<Vdir>MySite</Vdir>
       <Physdir>..\WebServices\MySite</Physdir>
       <AppPool>MyAppPool</AppPool>
       <AppPoolNetVersion>v4.0</AppPoolNetVersion>
</VDirList>

 

Pour basculer l’AppPool de Classic à Integrated, la ligne suivante est nécessaire :

 

<Exec Command=""C:\Windows\System32\inetsrv\appcmd.exe" set APPPOOL /apppool.name:"MyAppPool" /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated" />

 

Enfin il nous faut ajouter la cette ligne :

 

<Exec Command=""C:\Windows\system32\inetsrv\appcmd.exe" set config "Default Web Site/MySite" -section:Access -sslFlags:Ssl,Ssl128 -commit:APPHOST" />

 

L’option sslFlags nous permet de spécifier l’option Require SSL qui se trouve dans les SSL Settings :

 

BTDF BizTalk IIS SSL Configuration

 

C’est tout. Votre BTDF embarque maintenant le déploiement de votre site IIS ainsi que la configuration de son AppPool. Il ne vous reste plus qu’à configurer les bindings de votre application Biztalk si ce n’est pas déjà fait.