【问题标题】:Is it possible to copy build files to multiple drop folders on TFS?是否可以将构建文件复制到 TFS 上的多个放置文件夹?
【发布时间】:2015-08-16 20:06:50
【问题描述】:

我有两台 Web 服务器,我正在使用一些 MVC 应用程序进行测试。当我在 Visual Studio 中创建构建定义时,我想使用两个放置文件夹(每台服务器上一个),但这似乎不可能。我知道有很多方法可以通过手动复制文件、设置数据复制或创建多个构建定义来解决这个问题,但我正在寻找最简单的方法。有什么想法吗?

【问题讨论】:

    标签: asp.net-mvc visual-studio visual-studio-2013 tfs


    【解决方案1】:

    添加一个将文件复制到第二个 Web 服务器的构建后脚本。

    【讨论】:

    • 我这样做了,但遇到了一点麻烦。我知道我的脚本可以在 Visual Studio 外部运行,但是当它通过构建定义中的构建后脚本路径自动运行时,它不会复制所有文件。这是因为构建等待删除文件,直到脚本运行,但脚本实际上需要在这些文件位于放置文件夹中之后运行。使用当前设置,我最终只会复制一个日志文件。关于如何改变这一点的任何想法?
    • 对于这个问题,您可以使用 here 提供的构建模板,该模板具有 Post-Drop 脚本参数,或者您可以在构建后脚本中实现一段时间:` while(-not(Test-Path "$($webPackagePath)\Web.zip")) { Start-Sleep -s 5 Write-Verbose "等待构建完成..." -Verbose } `
    【解决方案2】:

    构建的结果始终是一个放置文件夹,但是您将为每个 Web 应用程序获得一个子文件夹(查看 /_PublishedWebApplications/MyWeb/)。作为后期构建 PowerShell,或作为发布管理活动,您可以将这两个 Web 应用程序部署到一个或多个服务器。

    在默认的构建模板中有调用 PowerShell 的地方。您应该使用测试后位置来调用部署您的应用程序的脚本。

    如果您有一系列环境,例如 dev->qa->prod,那么您可以使用发布管理工具为您的每个或两个应用程序创建管道。

    【讨论】:

      猜你喜欢
      • 2014-02-02
      • 2014-09-23
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      相关资源
      最近更新 更多