【问题标题】:Getting TFS Triggered Build Git Branch获取 TFS 触发构建 Git 分支
【发布时间】:2016-05-03 03:01:51
【问题描述】:

我有一个 TFS 2013u4 Git 构建定义,它在其源设置中定义了存储库、默认存储库和 CI 监控的存储库。使用其他地方描述的方法,我可以从自定义构建 xaml 中的构建定义中检索默认分支名称,但我需要找到一种方法来确定触发 CI 构建的分支的名称。

例如:

我的构建定义将 BranchA 列为默认值,并将 BranchA、BranchB、BranchC 和 BranchD 列为 CI 触发构建的受监控分支。

假设有人对 BranchD 进行了更改;此提交将反过来触发此构建定义触发。如何在我的自定义构建 XAML 中确定触发此构建的是 BranchD 上的提交?

【问题讨论】:

    标签: git xaml tfs


    【解决方案1】:

    IBuildDetail 对象中有一个名为SourceGetVersion 的属性。当使用构建定义中定义的默认分支手动执行或触发构建定义时,此属性仅返回“T”,但如果构建定义是由对受监视分支的提交触发的,则此属性设置为分支名称(加上其他一些小细节)。

    我只需解析该属性的值,就可以准确地确定是哪个分支触发了构建定义。

    【讨论】:

      【解决方案2】:

      不,这暂时无法通过 Git 构建定义来实现。无法将 CI 触发器限制到存储库中的特定文件夹。

      UserVoice 中有一个特色请求。你可以投票支持它。

      允许 GIT CI 构建仅监视特定子目录中的更改 一个回购 https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/5279254-allow-git-ci-builds-to-monitor-changes-only-in-a-s

      【讨论】:

      • 这不是我想要的。 UserVoice 中的请求是在进行更改的分支中识别精确的子文件夹。我只需要知道分支名称本身。我确实找到了解决方案,请参阅我的回复。
      猜你喜欢
      • 2014-02-12
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      相关资源
      最近更新 更多