我试图通过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,并且配置设置已从配置转换中正确获取。
由于
答案 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
这可能有用。使用查询字符串将您的网站名称附加到您的网址