看起来TFS每个构建只支持一个存储库。一旦我需要使用单独存储的第三方库,这对我来说是不够的。
我可以使用GIT子模块,但在这种情况下,构建将不与提交和工作项相关联,因为它忽略了子模块的提交。此外,子模块的更改不会触发构建。
是否可以使用插件,扩展或类似的东西定义具有多个存储库的构建?
答案 0 :(得分:4)
正如@jessehouwing所提到的,默认情况下无法构建多个GIT存储库。 @jessehouwing和@Giulio Vian在这里提供了一些解决方法:
使用Nuget或其他程序包管理器存储第三方库,并添加NuGet还原任务以还原库。
添加命令行任务以调用git.exe来提取其他存储库。
创建两个构建定义,在第二个构建定义中,您需要添加一个powershell任务。在powershell脚本中,您可以使用TFS REST API对第一个构建定义进行排队。
但是他们都没有将两个存储库中的提交和工作项与一个构建相关联。我发现在下面的网站上已有UserVoice,您可以投票:
答案 1 :(得分:3)
不,这是目前无法实现的。相反,建议将第三方库构建并存储在包管理功能中(作为NuGet或npm包),并依赖于包而不是源。但是,这不会关联第三方依赖项上的工作项。
当然,如果你真的想,你可以从powershell或批处理脚本调用git.exe并获取其他存储库。但是,这不会关联工作项。