6

看起来 TFS 每次构建只支持一个存储库。只要我需要使用一些单独存储的 3rd 方库,这对我来说还不够。

我可以为此使用 GIT 子模块,但在这种情况下,构建不会与提交和工作项相关联,因为它忽略了来自子模块的提交。此外,子模块的更改不会触发构建。

是否可以使用插件、扩展或类似的东西来定义具有多个存储库的构建?

4

2 回答 2

6

正如@jessehouwing 提到的,默认情况下无法构建多个 GIT 存储库。@jessehouwing 和 @Giulio Vian 在这里提供了一些解决方法:

  1. 使用 Nuget 或其他包管理器存储 3rd 方库,并添加 NuGet 还原任务以还原库。

  2. 添加命令行任务以调用 git.exe 以提取其他存储库。

  3. 创建两个构建定义,在第二个构建定义中,需要添加一个powershell任务。在 powershell 脚本中,您可以使用TFS REST API对第一个构建定义进行排队。

但是它们都不会将两个存储库中的提交和工作项与一个构建相关联。我发现下面的网站已经有一个 UserVoice,你可以投票:

https://developercommunity.visualstudio.com/idea/365522/allow-tfs-build-to-depend-on-multiple-repositories.html

于 2017-01-16T08:44:50.123 回答
4

不,这目前是不可能的。相反,建议将您的第 3 方库构建并存储在包管理功能中(作为 NuGet 或 npm 包),并依赖包而不是源。但是,这不会将工作项与 3rd 方依赖项相关联。

当然,如果你真的想要,你可以从 powershell 或批处理脚本调用 git.exe 并获取额外的存储库。不过,这也不会关联工作项。

于 2017-01-13T11:02:28.150 回答