30 votes

Comment déployer à l'aide de MSDeploy dans Team Build 2010 à l'aide du service WMSVC et de l'authentification NTLM?

Je suis en train de déployer à l'aide de l'Équipe de Construire 2010 à un Serveur Windows 2008 R2 serveur web. Mon build server agent est configuré pour s'exécuter sous un compte de domaine Windows. J'ai donné avec succès ce autorisations de compte de domaine sur mon serveur web pour le déploiement à l'aide du Gestionnaire des services IIS autorisations. Ce compte n'est pas un Administrateur sur le serveur web. Je peux obtenir le construire le déploiement de l'amende juste en utilisant les paramètres suivants:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:UserName=DOMAIN\BUILDID
/p:Password=buildidpassword

Parce que d'autres les développeurs vont mettre en place leurs constructions, et je préfère ne pas publier le mot de passe pour le compte de domaine, j'ai besoin d'utiliser l'authentification NTLM à déployer. Je voudrais continuer à utiliser le Web de Gestion de la méthode de service (WMSVC) pour le déploiement de sorte que le BUILDID n'a pas à être un administrateur.

J'ai creusé profondément dans le "de Microsoft.Web.La publication.objectifs" et il semble que je devrais être en mesure de passer un paramètre AuthType pour le contrôle de l'autorisation type, mais il semble n'avoir aucun effet. J'ai essayé:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:AuthType=NTLM

Et j'ai aussi essayé de mettre un nom d'utilisateur vide (comme on le voit d'ailleurs sur StackOverflow), en vain. J'obtiens toujours l'erreur:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5): erreur : le site Web de tâches de déploiement a échoué.(Connecté à l'ordinateur de destination ("webservername") en utilisant le Service de Gestion Web, mais ne peut pas autoriser. Assurez-vous que vous utilisez le nom d'utilisateur correct et le mot de passe, que le site vous vous connectez existe, et que les informations d'identification de représenter un utilisateur qui dispose des autorisations nécessaires pour accéder au site.)

J'ai aussi essayé de l' UseMsdeployexe paramètre comme indiqué dans le lien précédent, mais je puis obtenir d'autres erreurs liées au web.config de transformation. On dirait que le problème est déjà sur Microsoft Connect et est répertorié comme étant résolu dans le prochain numéro.

9voto

Tom Crane Points 163

Il y a une étape supplémentaire, que je n'ai jamais ramassé sur:

Source

Vous pouvez éventuellement permettre aux utilisateurs de s'authentifier avec le Web Service de gestion de l'utilisation de NTLM. Pour ce faire, de mettre à jour le registre sur le serveur en ajoutant une clé DWORD nommée "WindowsAuthenticationEnabled" sous HKEY_LOCAL_MACHINE\Software\Microsoft\WebManagement\Serveur, et 1. Si le Service de Gestion Web est déjà commencé, l' réglage ne prendront effet qu'après le redémarrage du service.

4voto

SoftwareCarpenter Points 1676

Si c'est le défaut de l'utilisation de NTLM puis l'équipe de la construction de l'agent de service doit être donné la permission de votre site pour permettre aux non-administrateurs à se connecter au site ou à l'application de déploiement du serveur d'accès. Vous pouvez configurer ce en vertu de Service de Gestion .

Vous pouvez aussi jeter un oeil à la configuration du déploiement sur le web les paramètres du fournisseur. Web Déployer Les Paramètres Du Fournisseur De

Si le wmsvc fournisseur paramètre est spécifié, la valeur par défaut type d'authentification de Base; sinon, la valeur par défaut type d'authentification NTLM.

Vous pouvez également crypté de vos mots de passe en utilisant le encryptPassword de paramètres et la configuration de l'installation sur le serveur hébergé si vous voulais utiliser l'authentification de base type.

Espérons que cette aide.

Ce code d'erreur peut de surface en raison d'un certain nombre de raisons différentes. Il indique généralement une authentification ou de problème d'autorisation, et peuvent se produire à cause de hte raisons suivantes:

Si la connexion en utilisant le Service de Gestion Web:

  • Vérifiez que le nom d'utilisateur et mot de passe sont corrects
  • Vérifiez que le site existe
  • Vérifier que l'utilisateur est le Gestionnaire des services IIS Autorisations du site portée

Si la connexion à l'aide de la Télécommande de Service de l'Agent:

  • Vérifiez que le nom d'utilisateur et mot de passe sont corrects
  • Vérifiez que le compte d'utilisateur que vous avez spécifié est un membre de la Groupe administrateurs sur l'ordinateur distant. REMARQUE: en Raison d'un bogue dans le déploiement Web 2.0, l'utilisateur doit être Administrateur intégré ou un membre du groupe Administrateurs de Domaine du groupe de sécurité. Les tentatives de synchronisation avec n'importe quel autre compte d'utilisateur, même si il est un administrateur, va voir ce code d'erreur. Vérifiez que le site existe

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