【发布时间】:2015-02-13 15:48:18
【问题描述】:
我正在为一个多模块 Gradle 项目使用 Team Foundation Server 2013 构建,每个模块都驻留在自己的 Git 存储库中。所有这些存储库都位于一个 TFS 2013 项目中。构建模板在主模块的存储库上执行。也就是说,在构建配置中,Source Settings / Repository name 设置为主模块的存储库。
现在,在构建中,为每个模块识别当前提交以及最后一次成功构建的提交 ID(这通过 Git shell 魔术和一个单独的存储库来记录最后一次成功的构建) .然后,再次为每个模块调用 TFS 构建活动 GitAssociateCommitsAndWorkItems,并将 CurrentCommit、PreviousCommit 和 RepositoryRootFolder 的值设置为与该模块的存储库对应的值。
构建后,TFS 网页上的构建摘要正确显示了自上次成功构建以来发生的所有模块的提交,包括它们的提交消息。对于主模块中的提交,提交链接正确地指向 TFS 中的提交摘要页面,并且提交消息中引用的工作项与预期的构建相关联。然而,对于所有其他模块,提交链接不起作用,因为它们指向主模块的存储库(链接指向类似 http://my-tfs-server/tfs/MyProject/_git/mainmodule/commit/0458838c815786dfaa5fac519d1fb19699c645c5 的东西)。在这种情况下,工作项的关联也不起作用。
我现在的问题是:GitAssociateCommitsAndWorkItems 如何确定提交所属的 TFS Git 存储库,是否可以更改它?
【问题讨论】:
标签: git tfsbuild multi-module