Comment intégrer IIS 7 Web Deploy avec MSBuild (TeamCity)?Comment intégrer IIS 7 Web Deploy avec MSBuild (TeamCity)
Répondre
Troy Hunt a une excellente 5-part blog series qui va sur ce sujet en détail.
Il a efficacement compilé toutes les autres ressources disponibles et les a transformées en un tutoriel.
C'est le moyen le plus clair (et croyez-le ou non, le plus concis) de faire ce que vous voulez.
J'ai finalement réussi à le faire fonctionner après plusieurs jours de lutte. Il se résume finalement à un script MSBuild, en installant et en configurant le déploiement Web sur le serveur de test/test et en le configurant dans Team City.
Il y a beaucoup d'étapes et tout peut mal tourner. Je vais enquêter plus loin et bloguer à ce sujet mais c'est ma première tentative qui fonctionne.
J'utilise cette configuration:
- .NET 4
- ASP.NET MVC 2
- TFS 2008
- équipe Ville
- IIS7
- Web Deploy
Voici le MSBuild Scénario:
<?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:
- Je mis en place le Web.Release.config de travailler dans l'environnement de la mise en scène
- Le script de construction doit se trouver dans le même répertoire que Webapplication.csproj
- deploy Web doit être installé sur le serveur Team Ville ainsi que sur le serveur Web (mise en scène)
- c: \ inetpub \ WebApplication \ www est un répertoire sur le serveur web
- Le nom d'utilisateur de webdeploy est une fenêtre locale compte sur le serveur Web avec un accès complet à c: \ inetpub \ WebApplication \ www
Préparation:
- J'ai suivi les étapes à http://technet.microsoft.com/en-us/library/dd722796(WS.10).aspx
- I puis la partie 1 à http://learn.iis.net/page.aspx/516/configure-the-web-deployment-handler/
- et créé une règle contentPath pour c: \ inetpub \ WebApplication \ www et tous les utilisateurs
Ville Équipe:
Je mis en place une nouvelle configuration de construction en utilisant le script MSBuild ci-dessus et a fixé l'objectif à déployer
- 1. TeamCity Deploy Build Sortie
- 2. IIS web deploy - créer des répertoires virtuels?
- 3. No Deploy option IIS
- 4. TeamCity MSBuild Gallio NCover Rapports
- 5. Comment publier un projet web avec MSBuild?
- 6. Intégration de TeamCity et MSBuild
- 7. Session NHibernate avec IIS 7
- 8. NLB et Web Deploy
- 9. Meilleur installateur à intégrer avec TFS2010 + MSBuild
- 10. Sortie trop verbeuse pour Teamcity MSBuild Runner
- 11. IIS 7 - IIS 6 Problème
- 12. Hébergement d'applications non Web dans IIS 7
- 13. (IIS) 7 Configuration - Visual Web Developer
- 14. msbuild ne crée pas d'artefacts dans teamcity
- 15. IIS 7 avec PHP 5.2 - Erreur 500
- 16. Intégrer les rapports TeamCity à Confluence
- 17. Comment configurer IIS 7 sous-domaines
- 18. Arrête le pool d'applications IIS 7 à partir du script de génération
- 19. iis 7 redirection relative avec get paramètres
- 20. IIS 7, ASP.NET: AccessViolationException
- 21. TeamCity & MSpec avec sln2008 coureur?
- 22. IIS 7 'Server.CreateObject failed'
- 23. VS 2010 Déploiement sans Web Deploy
- 24. Routage Castle MonoRail avec IIS 7?
- 25. IIS 7 Reverse Proxy avec SSL?
- 26. IronRuby on Rails avec IIS 7
- 27. IIS 7 et FastCGI problème
- 28. VS2010 Web Deploy: comment supprimer les chemins absolus et automatiser setAcl?
- 29. Ecraser des propriétés avec MSBuild
- 30. IIS 7 Migration et configuration du site Web