Развертывание в Интернете для IIS в приложение сайта от TFS

Я пытаюсь заставить сервер сборки tfs развернуть основной сайт asp.net и приложение.net framework asp.net web api site под управлением iis.

Я могу заставить его работать, если я создаю основное приложение asp.net в качестве собственного веб-сайта, совместно использующего ту же папку приложения.

Я называю сценарий powershell, который генерирует visual studio при использовании веб-развертывания.

Звонок это генерирует

> "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
> -source:manifest='C:\Users\BuildService\AppData\Local\Temp\PublishTemp\obj\a\SourceManifest.xml'
> -dest:manifest='C:\Users\BuildService\AppData\Local\Temp\PublishTemp\obj\a\DestinationManifest.xml',ComputerName='https://server:8172/msdeploy.axd?site=Demo%20mainSite/dotnetCoreApp',UserName='username',Password='{{PASSWORD-REMOVED-FROM-LOG}}',IncludeAcls='False',AuthType='Basic'
> -verb:sync -enableRule:DoNotDeleteRule -retryAttempts:20 -disablerule:BackupRule -allowUntrusted

Полученная ошибка

Код ошибки: ERROR_USER_UNAUTHORIZED Более подробная информация: подключен к удаленному компьютеру ("серверу") с помощью службы веб-управления, но не может авторизоваться. Убедитесь, что вы используете правильное имя пользователя и пароль, что сайт, к которому вы подключаетесь, существует, и что учетные данные представляют пользователя, у которого есть разрешения на доступ к сайту. Узнайте больше по адресу: http://go.microsoft.com/fwlink/?LinkId=221672: Удаленный сервер возвратил ошибку: (401) Unauthorized.Error count: 1.

Какой либо сайт не может быть найден, либо неверное имя пользователя / пароль. Как я уже упоминал, скрипт изменяет его на сайт, поэтому не должно быть таковых, если у меня нет специального разрешения, которое требуется приложению сайта, а сайт - нет.

Определение сборки

Определение сборки

Строка аргументов

-packOutput "$(build.artifactstagingdirectory)" -publishProperties @{'WebPublishMethod'='MSDeploy';      'MSDeployServiceURL'='$(remoteUrl)'; 'DeployIisAppPath'='$(appName)';'UserName'='$(ausername)';'Password'="$(password)"; 'EnvironmentName'='$(environment)'; 'EnableMSDeployBackup'='$(backup)';'AllowUntrustedCertificate'='true'} -Verbose

переменные строить переменные

Полный журнал

2017-02-02T15:06:25.0517357Z . 'B:\_work\108\a\server-publish.ps1' -packOutput "B:\_work\108\a" -publishProperties @{'WebPublishMethod'='MSDeploy';      'MSDeployServiceURL'='https://server'; 'DeployIisAppPath'='Demo mainSite/dotnetCoreApp';'UserName'='username';'Password'="********"; 'EnvironmentName'='staging'; 'EnableMSDeployBackup'='false';'AllowUntrustedCertificate'='true'} -Verbose

2017-02-02T15:06:25.0547361Z Executing the following powershell script. (workingFolder = B:\_work\108\s)

2017-02-02T15:06:25.0547361Z B:\_work\108\a\server-publish.ps1 -packOutput "B:\_work\108\a" -publishProperties @{'WebPublishMethod'='MSDeploy';      'MSDeployServiceURL'='https://server'; 'DeployIisAppPath'='Demo mainSite/dotnetCoreApp';'UserName'='username';'Password'="********"; 'EnvironmentName'='staging'; 'EnableMSDeployBackup'='false';'AllowUntrustedCertificate'='true'} -Verbose

2017-02-02T15:06:25.6777700Z VERBOSE: Loading module from path 'B:\_work\108\a\publish-module.psm1'.

2017-02-02T15:06:25.7307946Z VERBOSE: Exporting function 'Register-AspnetPublishHandler'.

2017-02-02T15:06:25.7307946Z VERBOSE: Exporting function 'Get-AspnetPublishHandler'.

2017-02-02T15:06:25.7317771Z VERBOSE: Exporting function 'Publish-AspNet'.

2017-02-02T15:06:25.7327889Z VERBOSE: Exporting function 'Publish-AspNetMSDeploy'.

2017-02-02T15:06:25.7327889Z VERBOSE: Exporting function 'Publish-AspNetMSDeployPackage'.

2017-02-02T15:06:25.7337689Z VERBOSE: Exporting function 'Publish-AspNetFileSystem'.

2017-02-02T15:06:25.7337689Z VERBOSE: Exporting function 'Get-PropertiesFromPublishProfile'.

2017-02-02T15:06:25.7348209Z VERBOSE: Exporting function 'Get-MSDeploy'.

2017-02-02T15:06:25.7397836Z VERBOSE: Registering MSDeploy handler

2017-02-02T15:06:25.7607760Z VERBOSE: Adding handler for [MSDeploy]

2017-02-02T15:06:25.7637948Z VERBOSE: Registering MSDeploy package handler

2017-02-02T15:06:25.7647892Z VERBOSE: Adding handler for [Package]

2017-02-02T15:06:25.7657950Z VERBOSE: Registering FileSystem handler

2017-02-02T15:06:25.7667860Z VERBOSE: Adding handler for [FileSystem]

2017-02-02T15:06:25.7677977Z VERBOSE: Importing function 'Get-AspnetPublishHandler'.

2017-02-02T15:06:25.7677977Z VERBOSE: Importing function 'Get-MSDeploy'.

2017-02-02T15:06:25.7687917Z VERBOSE: Importing function 'Get-PropertiesFromPublishProfile'.

2017-02-02T15:06:25.7687917Z VERBOSE: Importing function 'Publish-AspNet'.

2017-02-02T15:06:25.7697881Z VERBOSE: Importing function 'Publish-AspNetFileSystem'.

2017-02-02T15:06:25.7707794Z VERBOSE: Importing function 'Publish-AspNetMSDeploy'.

2017-02-02T15:06:25.7707794Z VERBOSE: Importing function 'Publish-AspNetMSDeployPackage'.

2017-02-02T15:06:25.7717769Z VERBOSE: Importing function 'Register-AspnetPublishHandler'.

2017-02-02T15:06:25.8108318Z Publishing with publish method [MSDeploy]

2017-02-02T15:06:25.8558374Z VERBOSE: Adding default property to publishProperties ["SkipExtraFilesOnServer"="True"]

2017-02-02T15:06:25.8587850Z VERBOSE: Adding default property to publishProperties ["retryAttempts"="20"]

2017-02-02T15:06:25.8607935Z VERBOSE: Adding default property to publishProperties ["DeleteExistingFiles"="False"]

2017-02-02T15:06:25.8618096Z VERBOSE: Adding default property to publishProperties ["MSDeployPackageContentFoldername"="website\"]

2017-02-02T15:06:25.8638077Z VERBOSE: Adding default property to publishProperties ["AuthType"="Basic"]

2017-02-02T15:06:25.8647915Z VERBOSE: Adding default property to publishProperties ["MSDeployUseChecksum"="False"]

2017-02-02T15:06:25.8658376Z VERBOSE: Adding default property to publishProperties ["MSDeployPublishMethod"="WMSVC"]

2017-02-02T15:06:26.1098668Z VERBOSE: Found msdeploy.exe at [C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe]

2017-02-02T15:06:26.1168709Z Executing command ["C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:manifest='C:\Users\BuildService\AppData\Local\Temp\PublishTemp\obj\a\SourceManifest.xml' -dest:manifest='C:\Users\BuildService\AppData\Local\Temp\PublishTemp\obj\a\DestinationManifest.xml',ComputerName='https://server:8172/msdeploy.axd?site=Demo%20mainSite/dotnetCoreApp',UserName='username',Password='{{PASSWORD-REMOVED-FROM-LOG}}',IncludeAcls='False',AuthType='Basic' -verb:sync -enableRule:DoNotDeleteRule -retryAttempts:20 -disablerule:BackupRule -allowUntrusted]

2017-02-02T15:06:26.1218393Z VERBOSE: Found msdeploy.exe at [C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe]

2017-02-02T15:06:27.2510114Z Info: Using ID '7b0f156a-8f7a-4259-84df-93d9008e6f22' for connections to the remote server.

2017-02-02T15:06:27.2900134Z ##[error]Error Code: ERROR_USER_UNAUTHORIZEDMore Information: Connected to the remote computer ("server") 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.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED.Error: The remote server returned an error: (401) Unauthorized.Error count: 1.

2017-02-02T15:06:27.2910140Z ##[error]Process completed with exit code 0 and had 1 error(s) written to the error stream.

1 ответ

Как упоминалось на этом сайте, ERROR_USER_UNAUTHORIZED обычно указывает на проблему аутентификации или авторизации, и может произойти по любой из следующих причин:

  • Пользователь не существует
  • Пользователь не имеет доступа IIS Manager к сайту при подключении с помощью службы веб-управления
  • Сайт не существует
  • Неверный пароль

При подключении с использованием веб-службы управления убедитесь, что вы проверили следующие решения:

  • Убедитесь, что имя пользователя и пароль верны
  • Убедитесь, что сайт существует
  • Убедитесь, что у пользователя есть разрешения IIS Manager для области сайта.

Также попробуйте следующие шаги:

  • Выберите сайт в IIS Manager
  • Откройте разрешения диспетчера IIS
  • Убедитесь, что пользователь, которого вы развертываете, был добавлен. Если нет, нажмите Разрешить пользователя и добавьте его.
Другие вопросы по тегам