Web从tfs部署到IIS到站点应用程序

时间:2017-02-02 16:20:13

标签: iis asp.net-core tfsbuild webdeploy webdeploy-3.6

我正在尝试让tfs构建服务器将asp.net核心站点部署到运行iis的.net框架asp.net web api站点的应用程序中。

如果我将asp.net核心应用程序创建为共享相同应用程序文件夹的自己的网站,我可以使用它。

我正在调用visual studio在使用Web部署时生成的powershell脚本。

它生成的调用是

> "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更多信息:已连接到   远程计算机("服务器")使用Web管理服务,但可以   没有授权。确保您使用的是正确的用户名和   密码,您要连接的网站,以及   凭据表示有权访问该站点的用户。   了解更多信息:   http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED.Error:   远程服务器返回错误:(401)Unauthorized.Error count:   1。

无法找到网站或用户名/密码错误。正如我在将脚本更改为网站时提到的那样,所以除非我缺少特殊权限,否则网站应用程序需要网站不会这样做。

构建定义

The build definition

参数字符串

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

变量 build variables

完整日志

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 个答案:

答案 0 :(得分:1)

提到this website时,ERROR_USER_UNAUTHORIZED通常表示身份验证或授权问题,并且可能由于以下任何原因而发生:

  • 用户不存在
  • 如果使用Web连接,则用户无法访问站点的IIS管理器 管理服务
  • 网站不存在
  • 密码错误

如果使用Web管理服务进行连接,请确保已检查以下分辨率:

  • 验证用户名和密码是否正确
  • 验证网站是否存在
  • 验证用户是否具有该站点范围的IIS管理员权限

还请尝试以下步骤:

  • 在IIS管理器中选择网站
  • 打开IIS管理员权限
  • 验证您正在部署的用户是否已添加。如果没有,请单击“允许用户”并添加它。
相关问题