【问题标题】:Source code repository sharing for web apps and mobile appsWeb 应用程序和移动应用程序的源代码存储库共享
【发布时间】:2016-10-26 12:53:32
【问题描述】:

我们正在构建一个 web 应用程序,它公开了一个 RESTful API 和一个移动应用程序消费 那个 API。

这些都是产品的一部分(在商业/营销意义上)。

网络应用将部署在云端,移动应用将部署到应用商店以在移动设备上使用。

API 不太可能有第三方消费者。

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

我们正在使用 Git。

我们将为网络和移动应用实施持续交付管道。

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

【问题讨论】:

  • 如果他们共享代码,将它们放在同一个 repo 中是有意义的。但有太多因素促成了这一决定,因此没有任何“正确”的答案。

标签: git xamarin web-applications version-control mobile-application


【解决方案1】:

“最佳实践”有点主观。

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

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

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

【讨论】:

  • 感谢您的意见。我越是考虑它以及通过自动化提交来发布自动化的目标,我就越倾向于将存储库分开,使用包管理(即 NuGet)来控制依赖关系和共享模型。
猜你喜欢
  • 1970-01-01
  • 2016-12-14
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 2012-02-29
  • 1970-01-01
  • 2011-10-05
相关资源
最近更新 更多