云原生开发:工具、数据库与代码质量保障
多仓库环境与 GIT 子模块
在云原生开发中,多仓库环境是一种常见的架构。以微服务为例,左上角的浅灰色框包含了 iac - templates/ 下的微服务 Lambda 配置文件 service.yaml 以及微服务代码(如 NodeJS 的 handler.js 文件)。在底部,同一个微服务被拆分,左边的仓库包含微服务代码,右边的仓库仅包含 Lambda 基础设施即代码(IaC)配置,这种拆分也可通过用户界面完成。
多仓库环境具有诸多优势:
- 独立版本控制:每个服务可独立进行版本管理。
- 职责分离:可按仓库分配权限,明确职责。
- 增强归属感:开发者负责各自的微服务开发与维护。
- 便于共享和复用:各仓库独立,方便在不同项目中复用组件。
然而,多仓库环境也存在一些问题:
- 代码重复:团队独立工作,可能出现代码重复编写的情况。
- 难以推行最佳实践:缺乏监督,开发者自行决定微服务实现方式。
- 项目可见性低:开发者局限于自己负责的服务。
- 克隆项目困难:需了解包含哪些仓库以及组件间的协作方式。
GIT 子模块是管理多仓库的有效工具,它允许在主项目仓库中嵌入子 GIT 仓库。从本地项目看,就像一个具有清晰文件结构的单一代码库;从仓库角度,每个子仓库独立,有自己的生命周期和部署集成。添加子模块时,GIT 会在主仓库创建 .gitmodules 文件,引用子仓库。
创建 GIT 子模块的工作流程如下:
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



