MSDeploy 不使用 MSBuild 和 Visual Studio 2010 部署到远程服务器

2024-06-18

我当前正在运行 Visual Studio Team System 2010 RC,并且正在尝试获取构建服务设置来构建我的解决方案并在其中部署 3 个 Web 应用程序。我创建了一个名为“集成”的自定义构建配置,并在每个 Web 应用程序的“属性”的“打包/发布”选项卡上设置了“要在目标服务器上使用的 IIS 网站/应用程序名称”。

在我的构建定义中,我设置了以下参数:

/p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=InProc /p:MsDeployServiceUrl=http://我的服务器名称:8172/msdeploy.axd http://my-server-name:8172/msdeploy.axd/p:EnablePackageProcessLoggingAndAssert=True

但是,当我运行构建时,对于所有三个 Web 应用程序,我都会收到以下错误:

更新 setAcl (MyProjectName)。

C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3481,5):错误:Web 部署任务失败。 (试图执行未经授权的操作。)

但我认为这不是我的实际问题。日志中出现以下条目后发生此错误:更新 setAcl 这就是导致错误消息的原因,但 MSDeploy 似乎正在尝试部署到生成服务器上的本地 IIS,而不是我使用 MsDeployServiceUrl 参数指定的服务器。

查看 C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets 中的目标文件后,我添加了 EnablePackageProcessLoggingAndAssert,它添加了额外的日志记录。日志显示 MsDeployServiceUrl 的值为空字符串。我还注意到目标中 MsDeployServiceUrl 有一个小写 s,这有点令人困惑,因为任务名称 MSDeployPublish 有一个大写 S。我尝试使用大写字母,然后再次使用小写字母,但都不起作用。

其他一些需要注意的事情:

  1. 我的构建服务正在运行 网络服务。
  2. 我是服务员 尝试部署到另一个 领域。
  3. 我也尝试添加 /p:用户名=我的域\我的用户名 /password=mypassword 到 MSBuild 参数列表,但这没有帮助。

有谁知道我是否提供了正确的参数?或者给我提供正确的?

Thanks


经过多轮更改参数后,我找到了解决方案并成功部署了构建。我最终使用的参数是:

/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish 
/p:MSDeployPublishMethod=**RemoteAgent** 
/p:MsDeployServiceUrl=http://my-server-name
/p:username=myusername 
/p:password=mypassword

看来使用时InProc为了MSDeployPublishMethod MSBuild忽略MsDeployServiceUrl并始终尝试部署到本地服务器。我把它改为RemoteAgent并且部署成功。我确实注意到包文件不再包含在MyWebApplication_Package文件夹,但这对我来说没什么大不了的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MSDeploy 不使用 MSBuild 和 Visual Studio 2010 部署到远程服务器 的相关文章

随机推荐