MSBuild可以在一个命令中通过MSDeploy打包并部署到IIS 6吗?

时间:2010-11-05 04:39:22

标签: msbuild teamcity msdeploy

这就是我想要做的事情:

  1. 构建一个以“Package”为目标的现有.csproj
  2. 将包使用MSDeploy发布到IIS 6服务器
  3. 这是针对我尝试在一个步骤中配置的TeamCity构建和发布。我可以创建一个自定义构建文件,但我试图解决这个问题而不向应用程序添加任何其他配置。

    MSBuild参数有很多例子可以通过WMSVC进行发布 - here's a great one - 但是这不会与IIS 6一起发挥作用。是否存在可以在存在时使用的等效参数对MsDepSvc的依赖?这是可能的还是我留下了自定义构建脚本或包构建后跟发布构建?

1 个答案:

答案 0 :(得分:2)

您可以修改现有的.csproj文件以添加所需的任何其他目标(它只是一个MSBuild文件),并且可以通过不同的MSDeploy提供程序(webServer60metaKey发布到IIS6服务器,或contentPath通过分享。)

虽然可以通过在项目的MSBuild中添加Target来实现,但我建议您将这两个活动分成两个单独的目标。通过将它们分成两个单独的目标,您仍然可以将它们一起调用msbuild /t:Package;Deploy,但您也可以单独调用它们。

这将允许您创建部署包并让TeamCity将其包含为构建的工件。然后,您可以从TeamCity下载此软件包,并将其独立部署到任何服务器,即使您自动部署它也是如此。如果TeamCity还创建了您的发布版本,您就知道有生产部署

相关问题