Web 应用程序和移动应用程序的源代码存储库共享

Source code repository sharing for web apps and mobile apps

我们正在构建一个公开 RESTful API 的网络应用程序和一个消费的移动应用程序 API.

这些都构成了产品的一部分(在 business/marketing 意义上)。

Web 应用程序将部署在云端,移动应用程序将部署到应用程序商店以供在移动设备上使用。

API.

不太可能有第三方消费者

Web 应用程序和移动应用程序都将使用相同的语言(C# - ASP.NET Core 和 Xamarin)开发,并且有一些潜在的 re-use/sharing 代码,例如型号。

我们正在使用 Git。

我们将为 Web 和移动应用程序实施持续交付管道。

Web 应用程序和移动应用程序的代码库应该共享相同的源代码存储库还是应该各自有一个单独的存储库?在这种情况下,什么是最佳实践?

"Best practice"有点主观

一般来说,我更喜欢将主要子系统保存在单独的存储库中。这意味着他们可以拥有自己的版本控制策略,并且 - 如有必要 - 不同的开发团队。

通常,您希望您的 REST 服务器有一个已知的版本控制策略,如果您有一个带有自己的发布管道和版本号的存储库,那将是最简单的。根据您的项目,您可能希望您的应用程序开发人员使用已知的 "stable-ish" 版本的服务,但您希望您的服务团队能够部署测试版本而不影响应用程序团队。

您可以使用单个存储库实现此目的,但使用专门的存储库为您的服务构建要容易得多。