Comment intégrer IIS 7 Web Deploy à MSBuild (TeamCity)?
Réponses
Trop de publicités?Troy Hunt a une excellente série de blogs en 5 parties qui traite ce sujet en détail.
Il a efficacement compilé toutes les autres ressources disponibles et les a transformées en tutoriel.
C'est la manière la plus claire (et le croire ou non, la plus concise) de faire ce que vous voulez.
J'ai finalement réussi à le faire fonctionner après plusieurs jours de lutte. Enfin, elle se résume à un script MSBuild, l'installation et la configuration du déploiement web sur la mise en scène/serveur de test et de réglage dans l'Équipe de la Ville.
Il y a beaucoup d'étapes et tout peut aller mal. Je vais faire d'autres recherches et blog à ce sujet, mais c'est ma première tentative qui fonctionne.
Je suis l'aide de cette installation:
- .NET 4
- ASP.NET MVC 2
- TFS 2008
- L'Équipe De La Ville
- IIS7
- Web Deploy
Voici le script MSBuild:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>AnyCPU</Platform>
</PropertyGroup>
<Import Project="Webapplication.csproj" />
<Target Name='Deploy' DependsOnTargets='Build;Package' >
<Exec Command='"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"
-source:contentpath="$(teamcity_build_checkoutDir)\Main\source\Webapplication\obj\Release\Package\PackageTmp\"
-dest:contentpath="c:\inetpub\Webapplication\www",includeAcls=false,computername="https://(stagingserver-name):8172/msdeploy.axd?Site=Webapplication",authType=Basic,userName=(staginserver-name)\webdeploy,password=********
-allowUntrusted
-verb:sync' />
</Target>
</Project>
Points clés:
- J'ai configuré le Web.La libération.config pour travailler dans l'environnement de test
- Le script de construction doit être situé dans le même répertoire que Webapplication.csproj
- Le déploiement Web doit être installé sur l'Équipe de la Ville de serveur ainsi que sur le web (mise en scène) serveur
- c:\inetpub\Webapplication\www est un répertoire sur le serveur web
- Le webdeploy nom d'utilisateur est un compte windows local sur le serveur web avec un accès complet à c:\inetpub\Webapplication\www
Les préparatifs:
- J'ai suivi les étapes à http://technet.microsoft.com/en-us/library/dd722796(WS.10).aspx
- J'ai suivi la partie 1 à http://learn.iis.net/page.aspx/516/configure-the-web-deployment-handler/
- et créé une règle pour contentPath c:\inetpub\Webapplication\www et tous les utilisateurs
L'Équipe De La Ville:
J'ai mis en place une nouvelle configuration de la compilation à l'aide de la MSBuild script ci-dessus et s'est fixé pour objectif de Déployer