运动部件:
MyDomain\svcMyService 。 MyDomain\MyServer 。 MyDomain\MyJenkins 。 在jenkins,我有一个部署任务。 它抓取一些工件,然后调用msdeploy将它们推送到MyServer。
此部署步骤失败,我想弄清楚为什么。
这个命令是由Jenkins自动生成的,最后是以下内容(省略了敏感数据):
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:iisApp="E:\Jenkins\jobs\NotARealJobName\workspace" -dest:iisApp="MyWebSite/MyWebApp",ComputerName="https://MyServer:8172/MsDeploy.axd",UserName=MyDomain\svcMyService,Password="NotARealPassword" -allowUntrusted
我从msdeploy输出中看到的错误消息是:
错误代码:ERROR_USER_UNAUTHORIZED更多信息:使用Webpipe理服务连接到远程计算机(“MyServer”),但无法授权。 确保您使用的用户名和密码正确,所连接的站点是否存在,以及凭据是否具有访问站点的权限。 有关详细信息,请访问: http : //go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED 。
错误:远程服务器返回错误:(401)未经授权。
这可能是一个不完整或不正确的列表。 请告诉我,如果这是问题的可能性。
我想我必须:
MyDomain\svcMyService运行的应用程序池。 svcMyService完全权限 WDeployAdmin完全权限 NetworkService完全权限(因为这是WMSvc运行的) svcMyService帐户连接到该文件夹。 svcMyService帐户连接到该文件夹。 svcMyService帐户作为部署pipe理器。 WDeployConfigWriter和WDeployAdmin帐户未过期,并且其密码不能更改。 WDeployConfigWriter和WDeployAdmin帐户,并为每个委派更新这些凭据。 当我尝试排除故障时,我会保持此列表已更新。
#Fields:date时间s-ip cs方法cs#Fields-stem cs#Fields查询s-port cs-username c-ip cs(User-Agent)cs(Referer)sc-status sc-substatus sc-win32-状态时间2015-09-14 17:10:06 [服务器IP] HEAD /MsDeploy.axd – 8172 – [Jenkins IP] – – 401 2 5 15
我看到所有的状态是401.2与win32代码5。
根据这个疑难解答链接 ,“如果用户通过身份validation,但没有发布所需的权限,日志条目将看起来像”( 401 2 5 )。
我在2011年的这个旧论坛上find了答案 – 看起来很模糊。
在论坛上发现的解决scheme是:
HKEY_LOCAL_MACHINE\Software\Microsoft\WebManagement\Server 1名为WindowsAuthenticationEnabled的DWORD 执行这些步骤后,它似乎第一次为我工作。