【问题标题】:How-To Integrate IIS 7 Web Deploy with MSBuild (TeamCity)如何将 IIS 7 Web 部署与 MSBuild (TeamCity) 集成
【发布时间】:2011-02-20 07:30:40
【问题描述】:

如何将 IIS 7 Web 部署与 MSBuild (TeamCity) 集成?

【问题讨论】:

    标签: .net msbuild teamcity


    【解决方案1】:

    Troy Hunt 有一个出色的 5-part blog series 详细介绍了这个主题。

    他有效地编译了所有其他资源并将它们变成了教程。

    这是做你想做的最清晰(信不信由你,最简洁)的方式。

    【讨论】:

      【解决方案2】:

      经过几天的努力,我终于设法让它工作了。最后归结为一个 MSBuild 脚本,在暂存/测试服务器上安装和配置 Web 部署,并在 Team City 中进行设置。

      步骤很多,都可能出错。我会进一步调查并写博客,但这是我的第一次尝试。

      我正在使用这个设置:

      • .NET 4
      • ASP.NET MVC 2
      • TFS 2008
      • 团队城市
      • IIS7
      • 网络部署

      这是 MSBuild 脚本:

          <?xml version="1.0" encoding="utf-8"?>
      <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
          <PropertyGroup>
              <Configuration>Release</Configuration>
              <Platform>AnyCPU</Platform>
          </PropertyGroup>
      
          <Import Project="Webapplication.csproj" />
      
          <Target Name='Deploy' DependsOnTargets='Build;Package' >
              <Exec Command='"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" 
                      -source:contentpath="$(teamcity_build_checkoutDir)\Main\source\Webapplication\obj\Release\Package\PackageTmp\" 
                      -dest:contentpath="c:\inetpub\Webapplication\www",includeAcls=false,computername="https://(stagingserver-name):8172/msdeploy.axd?Site=Webapplication",authType=Basic,userName=(staginserver-name)\webdeploy,password=******** 
                      -allowUntrusted 
                      -verb:sync' />
          </Target>
      </Project>
      

      关键点:

      • 我将 Web.Release.config 设置为在暂存环境中工作
      • 构建脚本必须与 Webapplication.csproj 位于同一目录中
      • Web 部署必须安装在 Team City 服务器以及 Web(暂存)服务器上
      • c:\inetpub\Webapplication\www 是网络服务器上的一个目录
      • webdeploy 用户名是 Web 服务器上的本地 Windows 帐户,具有对 c:\inetpub\Webapplication\www 的完全访问权限

      准备工作:

      团队城市:

      我使用上面的 MSBuild 脚本设置了一个新的构建配置,并将目标设置为 Deploy

      【讨论】:

        猜你喜欢
        • 2012-07-18
        • 1970-01-01
        • 2017-01-05
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        • 2013-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多