1

我的目标:使用 webdeploy 将构建从 TeamCity 部署到远程 IIS 服务器

我正在尝试弄清楚 webdeploy 但运气不佳。目前据我了解,这是 webdeploy 的工作流程。

msbuild 构建项目 -> 启动 webdeploy 工具 -> 将数据发送到远程 IIS 服务器。

在使用参数构建我的项目时,我没有看到任何迹象。构建日志中没有任何内容表明正在进行任何部署。

C:\Windows\Microsoft.NET\Framework\v4.0.30319>msbuild \src\TestWebsiteApp\TestWe
bsiteApp.sln /p:Configuration=release /p:DeployOnBuild=True /p:DeployTarget=MSDe
ployPublish /p:MSDeployPublishMethod=RemoteAgent /p:MsDeployServiceUrl=localhost
 /p:username=myusername /p:password=mypassword

有人可以布局 webdeploy 的工作原理以及它的要求是什么。我收集到的是它需要 msbuild v4.0 和 IIS6 +

任何信息/指导将不胜感激,谢谢。

4

1 回答 1

1

我使用 Hudson,但设置它的主体是相同的。一旦你弄清楚如何从本地机器成功地将包部署到服务器上,剩下的就是小菜一碟了;)

这将使您成为一个包:

MSBuild "WcfService1.csproj" /T:Package

然后在您的解决方案文件夹中查找Package文件夹(应该在 obj\debug 中)。在里面你应该看到这样的东西:

PackageTmp
WcfService1.deploy-readme.txt
WcfService1.deploy.cmd
WcfService1.SetParameters.xml
WcfService1.SourceManifest.xml
WcfService1.zip

您需要在服务器上安装Web 部署工具,并且还需要在服务器上运行远程代理服务(安装 WDT 后,我认为它已关闭)。如果您已经拥有它,请打开 Windows 控制台并运行

WcfService1.deploy.cmd /M:your_server_name /Y

您可以使用 /T 而不是 /Y 进行测试运行 - 不会发布任何内容,但您会看到是否缺少任何内容。

记住您的应用程序池身份、对文件夹的访问权限等。

这些只是基本步骤,对于更高级的东西,您需要使用 SetParameters.xml 文件和/或您的项目属性进行一些操作。

于 2011-11-01T15:30:47.397 回答