使用多个GIT存储库构建TFS

时间:2017-01-13 09:13:37

标签: git tfs build tfsbuild tfs2017

看起来TFS每个构建只支持一个存储库。一旦我需要使用单独存储的第三方库,这对我来说是不够的。

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

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

2 个答案:

答案 0 :(得分:4)

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

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

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

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

  4. 但是他们都没有将两个存储库中的提交和工作项与一个构建相关联。我发现在下面的网站上已有UserVoice,您可以投票:

    https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/11592954-allow-tfs-build-to-depend-on-multiple-repositories

答案 1 :(得分:3)

不,这是目前无法实现的。相反,建议将第三方库构建并存储在包管理功能中(作为NuGet或npm包),并依赖于包而不是源。但是,这不会关联第三方依赖项上的工作项。

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