2010-05-17 13 views

risposta

36

Troy Hunt ha un eccellente 5-part blog series che va oltre questo argomento in dettaglio.

Ha effettivamente compilato tutte le altre risorse e le ha trasformate in un tutorial.

È il modo più chiaro (e che ci crediate o no, il più conciso) per fare ciò che volete.

16

Sono finalmente riuscito a farlo funzionare dopo diversi giorni di lotta. Finalmente si riduce a uno script MSBuild, installando e configurando la distribuzione Web sul server di staging/test e configurandolo in Team City.

Sono molti passaggi e tutti possono andare storto. Investigherò ulteriormente e ne parlerò, ma questo è il mio primo tentativo che funziona.

sto usando questa configurazione:

  • .NET 4
  • ASP.NET MVC 2
  • TFS 2008
  • squadra Città
  • IIS7
  • Web Deploy

Ecco il MSBuild script:

<?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> 

Punti chiave:

  • Ho creato la Web.Release.config di lavorare in un ambiente di staging
  • Lo script di build deve trovarsi nella stessa directory Webapplication.csproj
  • Web Deploy deve essere installato sul server squadra della città, così come sul web server (temporaneo)
  • c: \ inetpub \ applicazione web \ www è una directory sul server web
  • Il nome utente webdeploy è una finestra locale account sul server web con pieno accesso a c: \ inetpub \ applicazione web \ www

Preparazione:

Squadra Città:

ho creato una nuova configurazione di generazione utilizzando lo script MSBuild sopra e fissato l'obiettivo per distribuire

Problemi correlati