Avevo una distribuzione MSDeploy che funzionava perfettamente con TeamCity quando ho inoltrato le credenziali dell'utente. I parametri della riga di comando (utilizzando le variabili di ambiente per alcuni valori) erano:Come distribuire utilizzando MSDeploy e TeamCity con l'autenticazione integrata di Windows?
MSBuild.exe Web.csproj
/P:Configuration=%env.Configuration%
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl= https://%env.TargetServer%/MsDeploy.axd
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMsvc
/P:CreatePackageOnPublish=True
/P:UserName=%env.AdminUser%
/P:Password=%env.AdminPassword%
Ha funzionato benissimo. Ma ora voglio usare auth integrata. Ho provato a seguire i suggerimenti di Troy dal Can MSBuild deploy using integrated authentication or only basic? ma non sta facendo il trucco. Ho provato varie combinazioni di passare un nome utente vuoto e specificando
/p:AuthType=NTLM
Il più vicino che ottenga è specificando/p: AuthType = NTLM e passando in un nome utente vuoto. Ma che si traduce ancora in questo errore:
Connected to the destination computer ("[my destination server name]") using the Web Management Service, but could not authorize. Make sure that you are using the correct user name and password, that the site you are connecting to exists, and that the credentials represent a user who has permissions to access the site. The remote server returned an error: (401) Unauthorized
ho il servizio di gestione Web in esecuzione su entrambi i server locali e remoti. Ho cambiato entrambe le istanze per l'esecuzione come utente che conosco ha un accesso corretto al sito, lo stesso utente che funziona se passo manualmente le credenziali.
Inoltre, ho provato manualmente a fornire all'utente le autorizzazioni di Gestione IIS sul sito di destinazione (anche se non sono sicuro del motivo per cui sarebbe necessario poiché l'utente può pubblicare sul sito quando le sue credenziali vengono passate manualmente).
Una cosa che sto notando è che nel registro WMsvc non sta registrando alcun nome utente per i tentativi effettuati con l'autenticazione NTLM.
Qualche idea su cosa sta succedendo qui. Non voglio davvero dover memorizzare le credenziali dell'utente nella mia configurazione di TeamCity.
Grazie.
Vedere le osservazioni sopra. Risposta breve, ha. – user1035941