【问题标题】:TfsBuilds: what does drop location solve?TfsBuilds:放置位置解决了什么问题?
【发布时间】:2019-06-18 02:46:11
【问题描述】:

自从工作流构建问世以来,我一直在使用 TFS 构建。我从未见过使用以下任何一项的需要或愿望:

  • Copy Build output to the server
    • 什么服务器?什么目录?
  • `将构建输出复制到以下放置文件夹(UNC 路径,例如 \server\share):
  • 进程 - 高级 - Private Drop Location

我在高级银行自动化构建中使用过它,我使用过很多次 tfs build、msbuild 和 cc.net。

它会做一些设置/p:WebProjectOutputDir/p:DeployOnBuild=true 不会做的事情吗?难道是诊断 -> 查看日志选项总是灰显的原因吗?

放置文件夹的用途是什么?

【问题讨论】:

    标签: tfsbuild


    【解决方案1】:

    请检查MSDN中的放置文件夹是什么

    当您定义或排队构建定义时,您可以指定一个路径 一个放置文件夹,以便您的构建过程可以交付二进制文件和日志 文件给您的团队。确保您确定的文件夹已准备好 用作放置文件夹。

    我认为您不需要放置文件夹的主要原因是您的项目是 Web 项目,而 Web 项目不需要交付二进制文件。如果团队正在构建桌面应用程序,则需要放置文件夹。

    以下是放置文件夹有用的两种情况:

    • 您团队中的测试人员发现了一个错误并知道它以前有效。系统太复杂,他们无法直接找到根本原因或相关代码。他们还想确认这是最近引入的错误,而不是团队很久没有发现的错误。因此他们开始将旧版本从放置文件夹部署到另一个环境。在他们尝试了几个构建(可能是最后一个构建)之后,他们确认它只是在构建 xx.xx.xxxx 之后才出现的错误。开发人员检查在该特定构建中检查的更改并修复它。

    • 还有另一种情况。团队即将发布新产品。一位开发人员修复了一个错误,但测试人员在修复后发现了一个更严重的回归错误。在最后一分钟做出大的改变太冒险了。所以团队决定在错误修复之前向客户交付构建。他们从放置文件夹中复制了旧版本并将它们发送给客户。

    这里的关键是放置文件夹使团队可以灵活地轻松处理旧版本,并且团队能够并行处理多个版本。

    来自MSDN的3个选项的解释

    • 此版本不会将输出文件复制到放置文件夹:如果您不需要输出文件,请选择此选项。
    • 将生成输出复制到以下放置文件夹:如果要将输出文件复制到文件共享服务器上的放置文件夹,请选择此选项。在框中,键入您希望构建系统放置输出文件的文件夹的 UNC 文件路径。您必须指定一个已准备好用作放置文件夹的文件夹。有关详细信息,请参阅选择暂存位置并设置放置文件夹。
    • 将生成输出复制到服务器:选择此选项可将生成的输出复制到 Team Foundation Server。

    【讨论】:

    • 我在 MSDN 上直接搜索了一个小时,然后阅读了 20 分钟的 SO 问题/答案以寻找线索。
    • 您能描述一下您是如何使用 TFS 构建的吗?你有自动部署吗?
    • 标准 TFS 2012 工作流构建模板针对大多数构建的特定 .csproj,其他人的 .sln 文件,设置 DeployOnBuild=trueWebProjectOutputDir=\\server\deploypath
    • 当我点击打开放置文件夹时,它显示Value can not be null. Parameter name: path
    • 我在上面的评论中犯了两个错误。看起来 TFS 直接从源文件夹而不是放置文件夹部署 Web 项目。如果您选择“将构建输出复制到服务器”选项,则 Zip 文件将存储在 TFS 中。请在我更新的答案中查看更多信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 2014-06-21
    • 2017-08-26
    • 2010-09-21
    • 1970-01-01
    • 2011-04-06
    • 2019-12-29
    相关资源
    最近更新 更多