Come integrare IIS 7 Web Deploy con MSBuild (TeamCity)?Come integrare IIS 7 Web Deploy con MSBuild (TeamCity)
risposta
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.
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:
- Ho seguito i punti a http://technet.microsoft.com/en-us/library/dd722796(WS.10).aspx
- I seguita la parte 1 al http://learn.iis.net/page.aspx/516/configure-the-web-deployment-handler/
- e create una regola contentPath per il c: \ inetpub \ applicazione web \ www e tutti gli utenti
Squadra Città:
ho creato una nuova configurazione di generazione utilizzando lo script MSBuild sopra e fissato l'obiettivo per distribuire
- 1. Web Deploy con TeamCity riuscita con errore ERROR_EXCEEDED_MAX_SITE_CONNECTIONS
- 2. Come integrare Karma con TeamCity
- 3. MSBUILD .NET v4 teamcity
- 4. WebDeploy con MSBuild non distribuito da TeamCity
- 5. Web deploy in IIS senza Visual Studio
- 6. deploy sito Web su IIS 7 con e senza prefisso www
- 7. Teamcity e MSBuild 4.5
- 8. Integrazione TeamCity e MSBuild
- 9. MSBuild Problema IIS
- 10. Come utilizzare Web Deploy 3.0 con un account non amministratore
- 11. TeamCity MSBuild Gallio NCover Reporting
- 12. NHibernate Session con IIS 7
- 13. TeamCity MSBuild pubblicare directory di output
- 14. Distribuzione delle impostazioni IIS con distribuzione Web
- 15. Protocolli abilitati IIS 7
- 16. Come distribuire il servizio Web ASP.NET in IIS 7?
- 17. Integrare test non standard in TeamCity
- 18. Attributo ExcludeFromCodeCoverage con dotCover in TeamCity 7
- 19. Web Deploy (aka MSDeploy) restituisce ERROR_CONNECTION_TERMINATED
- 20. Come proteggere la distribuzione di TeamCity tramite il servizio Web Deploy?
- 21. Specifica di diversi appset con Web Deploy in VS 2012
- 22. TeamCity può pubblicare un progetto Web utilizzando il builder sln2008?
- 23. Interrompere il pool di applicazioni IIS 7 dallo script di build
- 24. Ignora file di documentazione XML con Web Deploy
- 25. TFS/MSBuild build/publish web deploy non trasforma i file web.config
- 26. Come visualizzare gli errori msbuild nella pagina panoramica da TeamCity
- 27. Deploy WAR in Tomcat incorporato 7
- 28. Come posso interrompere o avviare a livello di codice un sito Web in IIS (6.0 e 7.0) utilizzando MsBuild?
- 29. VS2012 Web Deploy Package per creare pool di applicazioni
- 30. Sovrascrivi proprietà con MSBuild