从包中进行Web部署401,适用于VS2010

时间:2011-12-16 01:07:13

标签: asp.net webdeploy

我试图通过CI服务器进行自动部署(TFS 2010) 基本上我已经建立了一个包,如果所有测试都过去了,我想部署它。

在TFS之外,只使用visual studio命令行,我导航到包的文件夹位置并使用以下内容:

 C:\site\Package>site.deploy.cmd /Y 
 /M:"https://WebServer:8172/MsDeploy.axd" -allowUntrusted /U:username 
 /P:password /A:Basic

在这种情况下,用户是在目标网站文件夹上具有完全权限的域用户。当我运行这个时,我得到401未经授权的错误。我已经创建了一个IIS管理器并在目标文件上设置了网络服务帐户的权限,但这也给出了同样的错误。

令人沮丧的是,从VS 2010右键单击发布页面,它可以与任一用户完美配合。有没有人有任何想法。我已经遍布堆栈溢出,并且我确定文件夹权限是正确的并且IIS配置正确。 VS 2010可以使用相同的凭据发布的事实支持我。 我确实看到你在指定服务器时可以传递?site = SiteName但我只是得到了关于不期望该参数的错误。

查看site.deploy.cmd和site.SetParameters.xml,它看起来肯定看起来像Web Deploy 2,并且配置设置已从配置转换中正确获取。

由于

2 个答案:

答案 0 :(得分:0)

如果是非管理员用户,则需要在远程URL中包含IIS站点。

C:\site\Package>site.deploy.cmd /Y /M:"https://WebServer:8172/MsDeploy.axd?site=Website Name" -allowUntrusted /U:username /P:password /A:Basic

生成的cmd文件可能会为您执行此操作,但仅限于您提供某个参数时。

答案 1 :(得分:-1)

http://www.jrjlee.com/2011/12/deploying-web-packages-as-non.html

这可能有用。使用查询字符串将您的网站名称附加到您的网址