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