【问题标题】:Control checkout parameter in TFS Build with git使用 git 控制 TFS 构建中的结帐参数
【发布时间】:2015-08-19 23:33:56
【问题描述】:

我们正在运行带有 Git 存储库的 TFS 2013。

在我们的构建服务器(>2GB 存储库)上为每个构建克隆存储库(具有相当多的历史记录)大约需要 20 分钟。

我们如何在构建定义中更改克隆的参数以仅获取没有历史记录的最新状态,即

git clone --depth 1 ...

?

我们需要自定义构建定义吗?
我们可以使用任何内置功能吗?

非常感谢任何提示!

【问题讨论】:

  • 1)。您可以减少下载时间,但在构建定义中取消选中清洁存储库,步骤 1.1 2) 您的存储库看起来很大,如果它包含二进制文件或其他非源文件,您可以考虑将其清除。 3)构建定义没有任何深度参数,所以是的,您需要更改“从 Git repo 拉取源”活动。
  • 干杯! 1 - 不能,我们正在更新程序集信息,因此如果我们尝试这样做会产生冲突。 2 - 我们应该,但是对存储库进行逆向修改是很可怕的。 3 - 关于如何做到这一点的任何提示?从未尝试更改活动
  • 2.您将始终在本地存储库中进行二进制清理。然后,您可以将其推送到 TFS 上的新 repo,并删除与旧 repo 的连接,以便保持旧 git 服务器 repo 未修改作为备份。
  • 3.修改构建并没有那么有趣,最好的指南来自 Ewald Hofman ewaldhofman.nl/post/2010/04/20/… 和 VS ALM Rangers 指南 vsarbuildguide.codeplex.com。我不知道为什么他们有一个单独的活动,而不是仅仅使用 powershell 脚本调用 git 命令。你得进去看看。或者,明智的做法是等待 TFS 2015,并在那里使用新的构建系统,它会简单得多。
  • 天哪,听起来我们最好等 TFS-2015!反正它已经是 RC 了。非常感谢您提供详细信息!

标签: visual-studio tfs tfsbuild build-definition


【解决方案1】:

FWIW - 我们关闭了克隆选项,只为每个构建拉取最新更改。为了在拉取后撤消在构建服务器上执行的更改(调整程序集信息/版本等),我们使用 custom post build stepgit resetgit clean

这样我们下次拉取最新更改时不会有任何冲突..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-08
    • 2014-11-26
    • 2011-03-10
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    相关资源
    最近更新 更多