41 votes

Comment intégrer IIS 7 Web Deploy à MSBuild (TeamCity)

Comment intégrer IIS 7 Web Deploy à MSBuild (TeamCity)?

37voto

Noah Heldman Points 2817

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.

16voto

Rickard Points 1892

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:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X