# g2rain-deploy
g2rain-deploy 是 G2rain 平台的标准化部署与交付仓库,用于把基础中间件、后端服务、前端子应用与业务扩展配置编排为统一可交付、可运行、可更新的部署环境。
# 模块定位
在 G2rain 整体体系中,g2rain-deploy 位于工程支撑层,是平台标准部署、环境初始化与持续更新的主入口。
它关注的不是单个服务如何启动,而是整个平台如何统一完成:
- 环境初始化
- 配置准备
- 镜像构建
- 服务编排
- 增量更新
# 核心能力
# 首次安装能力
通过 init-once.sh 完成:
.env初始化- SQL 占位符替换
- SSL 证书生成
- 源码拉取
- 镜像构建
# 标准启动能力
通过 start.sh、主 Compose 文件与业务片段合并形成最终运行配置,并启动完整平台运行栈。
# 标准停止能力
通过 stop.sh 支持停止保留现场或清理容器与网络等模式。
# 标准更新能力
通过 update.sh 联动服务映射与 Compose 配置,支持全量更新与按服务更新。
# 业务扩展能力
通过 business.d/*.yml 扩展业务片段,把平台主编排与业务增量配置解耦。
# 关键机制
# 服务映射机制
平台通过 services.conf 管理默认源码仓库与构建关系,核心格式为:
repodircompose_servicebuild_cmd
这使部署体系可以统一感知:
- 代码从哪里拉取
- 服务在本地哪个目录构建
- Compose 中对应哪个服务
- 应执行哪个构建命令
# Compose 合并机制
平台支持:
docker-compose.ymlcompose-v2/compose.yamlbusiness.d/*.yml
通过统一合并逻辑生成最终运行栈,以兼顾主干稳定性与业务扩展灵活性。
# 应用身份材料交付
g2rain-deploy 还负责保存前端应用身份相关材料,包括:
- 应用公私钥
- IAM 公钥
- Key ID
这些材料与 OpenResty + Lua 协同使用,用于打通平台的应用独立身份安全链路。
# 核心业务流程
# 首次安装流程
- 检查依赖环境
- 初始化
.env - 替换平台 SQL 配置占位符
- 可选生成 SSL 证书
- 拉取源码并执行镜像构建
- 写入安装完成标记
# 平台启动流程
- 选择 Compose CLI
- 合并主编排与业务片段
- 启动基础中间件与平台服务
- 等待核心依赖就绪
- 形成完整运行环境
# 平台更新流程
- 合并服务映射
- 拉取目标源码
- 构建更新镜像
- 按服务或全量重建运行栈
# 适用场景
- 测试环境部署
- 演示环境部署
- 私有化交付
- 平台持续更新
- 多模块统一运行编排