【问题标题】:How do I tell TeamCity to get the sources needed by a solution and not just a TFS server path?如何告诉 TeamCity 获取解决方案所需的资源,而不仅仅是 TFS 服务器路径?
【发布时间】:2011-08-09 00:49:05
【问题描述】:

我希望 TeamCity 基于给定的 Visual Studio 解决方案从 TFS 下载最新版本,而不仅仅是 TFS 服务器上的路径。 构建服务器不应获取我们忘记添加到正确解决方案的 TFS 上的文件。

【问题讨论】:

  • 明确地说,您想告诉 TeamCity “获取添加到此解决方案的所有内容”。因为您的最后一句话似乎与...相矛盾...如果您忘记在解决方案中添加某些内容,则需要解决该问题。无论您使用 TFS 路径还是解决方案都无济于事。
  • 谢谢。你让它可以理解。我试着让它更清楚一点。

标签: tfs teamcity


【解决方案1】:
  1. 将解决方案指定为构建文件 转到 TeamCity 管理 -> 配置 -> Runner (MSBuild) -> 构建文件路径

  2. VCS 根设置 -> 客户端映射:指定 TC 应从哪些文件夹复制文件

【讨论】:

  • 可能是我误会了你。但是我读到这个,因为构建服务器将从给定文件夹中检索所有文件,是这样吗?我想要给定解决方案或项目文件指定的所有文件。
  • 这里应该指定解决方案以某种方式涉及的所有文件夹,因此可以引用库或外部资源,所有这些文件夹都应该在客户端映射中,以便在解决方案构建时正确提取跨度>
  • 但这仍然会导致从整个 TFS 路径的源代码控制中“获取”。听起来 Nasit 想要一个精简的“get”。
【解决方案2】:

一个可能的解决方案是将您的构建Checkout Mode 配置为不自动签出文件。然后,编写一个自定义构建步骤,为您执行结帐。但是,看起来解决方案本身就是tricky problem。您可能想要编写自定义 MSBuild 步骤(可能编写自定义 .NET 任务)或使用 PowerShell。

您必须记住从解决方案中引用每个文件,例如您的库依赖项,否则结帐实际上无法获得所需的一切。

看到所有这些大惊小怪,我会更仔细地看看为什么你想要这种行为,看看你是否可以重组你的解决方案/vcs 路径来一起避免这个问题。

【讨论】:

    猜你喜欢
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多