【问题标题】:TFS 2015 Git Repository Build Get only Relevant filesTFS 2015 Git Repository Build 仅获取相关文件
【发布时间】:2017-03-08 22:18:47
【问题描述】:

最近我一直在为我的公司配置 TFS 2015 Git Repository。我有一个 8GB 的​​主分支,其中包含多个解决方案。每个解决方案都应该单独构建。每个解决方案都不需要此分支中的所有数据。有没有办法配置构建每个解决方案只获取相关文件而不是整个分支?

我的解决方案也有 5 个文件夹,1 个文件夹引用了其他四个。只有这个文件夹的构建版本是我正在寻找的。有没有办法告诉“只为我放下这个文件夹”?

【问题讨论】:

  • 您的构建计划不一定与 Git 有任何关系。 Git 说明了如何以及哪些文件被版本化,而不是特定构建中包含哪些文件(也许我遗漏了一些东西)。
  • @TimBiegeleisen 之所以这样做,是因为克隆存储库将始终获得完整的存储库。甚至不可能只抓住一个分支。但它可以做的是执行浅克隆,只克隆最新版本的文件。

标签: git build tfs-2015


【解决方案1】:

克隆 git 存储库的工作方式将始终获取整个存储库,除了将您的解决方案拆分为单独的存储库并使用 NuGet 包之类的东西将一个构建的输出重新使用到花药中之外,没有其他办法构建。

因此,无法告诉构建代理只获取特定文件。

要提高性能,请确保您的构建代理不会在构建后删除存储库,并且能够重复使用现有的克隆。这样,它只需要获取增量,速度就快得多了。

要仅发布您所追求的文件,请在构建结束时调整“复制和发布”任务以使用不同的源路径。这部分是可能的,而且很容易实现。

【讨论】:

  • 通过在保留选项卡上添加规则,我可以添加允许我排除分支的规则。我希望这会有所帮助。感谢您回答我的问题。
  • 那为什么它仍然存在!
  • 我刚刚检查过,我认为您正在查看“分支过滤器”,它不会按照您的预期执行。它们允许您配置从哪个分支应用保留策略的构建。例如,它允许您说从分支 master 构建的版本保留 2 年。并且来自功能分支的构建会在 7 天后被删除。
  • 反正我的问题没有解决建议。
  • 如我所说。这是它应该工作的方式,没有办法解决它。
【解决方案2】:

实际上,我们找到了解决方案。在复制阶段选择源文件夹时,我只选择了我需要的子文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 2019-01-05
    • 2018-12-31
    • 1970-01-01
    • 2017-04-06
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多