我正在领导一个SaaS应用程序。假设它是通过Rest API提供的java数据分析系统。我有几个开发人员,我们使用
我想知道将大项目拆分为子项目(如果有的话)的最佳实践(以及优点/缺点)是什么。
通常,我可以看到以下逻辑模块:
我是否希望将其作为一个包含多个子项目的大型存储库?但是接下来
或者我是否想为每个项目创建一个存储库?
我应该考虑的其他任何可能性/事情?
答案 0 :(得分:1)
我是否希望将其作为一个包含多个子项目的大型存储库?
这是经常有争议的话题。根据您的问题,您的一些要求可以帮助您确定。
I need to keep track of versions, and
您的服务可以以不同方式部署和版本化,即。你可以继续使用版本x运行服务A,然后使用版本y部署修复服务B,而不更改服务A.如果是这样,将它们保存在单独的存储库中会有所帮助。
确保CI服务器在何时构建相关子项目 事情已经提交了> (我可能不想建立和重新测试 更新分类模块时的其余界面
同样,这是不将所有内容捆绑到一个存储库中的一个原因。您不希望更改可视化以要求重建rest API。所以他们是单独回购的候选人。这也有助于子团队和分布式团队。
但是,如果代码库和团队规模太小,分成太多的回购可能会产生开销。