git - VSO 构建定义以从多个存储库和多步骤构建和引用中检索代码

标签 git tfsbuild azure-devops

我们在 Visual Studio Online 中有一个团队项目,它使用由不同开发团队维护的多个存储库。

E.g.
Common repo - common framework, libraries
App1 repo - First application
App2 repo - Second application

主要愿望

App1、App2 团队依赖通用项目/程序集来实现基本功能。我们发现为 VSO(在 Visual Studio 2013 中)配置构建定义似乎只关注单个 Git 存储库。

如何从多个存储库中提取代码源来执行复合构建?编译通用项目,使程序集可供依赖的应用程序项目引用等。甚至可能从依赖项应该处理的通用存储库中提取特定版本(标签)。

目前,我们已经明确地将通用程序集预编译并打包为特定版本,然后相关解决方案将其作为固定二进制库 Assets 包含在它们自己的存储库中。

高级欲望

这些应用程序实际上是一个更大系统的子系统。如何让单个构建定义以统一的顺序构建来自所有这些不同存储库的代码?

最佳答案

我会以不同的方式解决这个问题。

首先获取通用框架/库代码的编译输出并从中创建一个 NuGet 包。然后在您的 App1 和 App2 应用程序中引用该 NuGet 包。

有很多选项可以使 NuGet 易于使用,例如私有(private) MyGet 提要。 MyGet 也有一篇关于他们的帖子 VSO integration例如,但是您真正需要的只是一种方法,让其他应用程序可以使用通用/框架 nuget 包。

请注意,这种方法还将有助于版本控制和依赖项管理,并且无需分阶段构建管道,因为您可以构建彼此独立的框架和应用程序。

关于git - VSO 构建定义以从多个存储库和多步骤构建和引用中检索代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26134097/

相关文章:

Git 在 pull 后在文件中插入垃圾元标记

git submodule add + 不工作 + 获取 ssl 服务器问题

asp.net - 如何阻止 Team Build 进行预编译

MSBuild 缩小和连接 javascript,将内容散列到文件名中

Azure DevOps 管道复制节点模块需要很长时间

git - GitHub 上 pull request 中的分支名称

git - 如何在新的 Visual Studio 2019 的新 git 体验界面中添加要提交的工作项

c# - 通过 REST API 附加要构建的工作项

azure-devops - 如何解决 Unable to locate executable file : 'pwsh' . Please verify either the file path exists error when getting buildid with Azure rest API?

typescript - 如何使用自定义 Azure Devops 扩展 index.ts 中的连接服务?