我有一个Web项目,我希望它使用MSDeploy将其部署到暂存环境。
从Visual Studio发布一切正常,这些设置: 服务器:mystaging.com
project-staging
(我删除了默认网站,这是我的暂存IIS中唯一的网站)(mystaging.com是一个公共网站 - 显然不是这个网站)
部署在Visual Studio中完美运行。
从MSDeploy尝试相同的事情,如:
-verb:sync
-allowUntrusted
-source:contentPath="C:\Users\...\obj\Staging\Package\PackageTmp"
-dest:contentpath='C:\inetpub\wwwroot\project-staging'
includeAcls='False',
,ComputerName=https://mystaging.com:8172/msdeploy.axd?site=project-staging
,UserName=Administrator
,Password=SomePasswordHere
,AuthType=Basic
失败了:
Error Code: ERROR_USER_UNAUTHORIZED
More Information: Connected to the remote computer ("mystaging.com") 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.
Process exited with code -1
我已尝试过所有内容(提升权限,让其他用户等等)并且没有任何效果。
有人可以给我一个关于如何解决这个问题并让部署在MSDeploy上运行的提示吗?
答案 0 :(得分:1)
您是否有权访问目标部署服务器以分析应用程序,安全性和Web服务器日志?钻研这些,搜索上次失败的部署尝试的日期和时间可能会更多地指示出现了什么问题。
编辑:纠正错字
答案 1 :(得分:0)
尝试使用msbuild打包ZIP文件,而不是使用contentPath设置,并使用msdeploy部署包。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
MyWebApp/MyWebApp/MyWebApp.csproj
/T:Package
/P:Configuration=Debug;PackageLocation="C:\Build\MyWebApp.Debug.zip";DeployIisAppPath=project-staging
然后部署:
"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy.exe" -verb:sync
-source:package="C:\Build\MyWebApp.Debug.zip"
-dest:auto,wmsvc=devserver,username=deployuser,password=*******
-allowUntrusted=true
这可能会在您的环境中给您不同的结果。在这种情况下,远程Web服务器正在运行Web Deploy Service。 ZIP部署包也可以手动安装。它对我有用(see the blog post i based this on)。