【问题标题】:When a TFS build is triggered by a check-in what how does it do the get?当签入触发 TFS 构建时,它如何获取?
【发布时间】:2010-02-18 15:11:49
【问题描述】:

我在 TFS 2008 中设置了一个 CI 流程,因此每次签入时都会触发构建,但前提是构建尚未运行。配置中使用的确切设置是标记为的单选按钮:

“累积签到直到之前的构建完成(更少的构建)” 复选框“不超过每 ___ 分钟构建”。不检查

我还有其他可能正在进行的构建过程,因此我可以看到构建排队时具有特定的“排队日期”。当构建服务器到达排队构建时,假设它需要 10 分钟才能到达那里,它是使用排队构建的时间戳来执行获取还是构建执行“获取最新”?

【问题讨论】:

    标签: msbuild tfs


    【解决方案1】:

    我相信 TFS 将使用最后一次触发提交的变更集(即构建通过变更集 ID 执行“获取特定版本”,而不是“获取最新版本”)。

    您可以通过查看构建报告并找到“源代码控制版本”字段的值来检查这一点,您应该会看到类似以下内容:

    首先,我会检查您看到的值是否与您在构建工作区中看到的一致,以及构建是否引用了预期的变更集。

    假设您的构建按照宣传的方式运行(这对您来说是个问题),那么您可能需要考虑更改此默认行为并通过覆盖“GetVersion”MSBuild 属性强制您的 CI 构建执行“获取最新”在构建的 TFSBuild.rsp 文件中,添加以下内容:

    /p:GetVersion=T
    

    “T”代表“tip”(或 SVN 用语中的“head”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      • 2016-12-10
      相关资源
      最近更新 更多