# 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 管理默认源码仓库与构建关系,核心格式为:

  • repo
  • dir
  • compose_service
  • build_cmd

这使部署体系可以统一感知:

  • 代码从哪里拉取
  • 服务在本地哪个目录构建
  • Compose 中对应哪个服务
  • 应执行哪个构建命令

# Compose 合并机制

平台支持:

  • docker-compose.yml
  • compose-v2/compose.yaml
  • business.d/*.yml

通过统一合并逻辑生成最终运行栈,以兼顾主干稳定性与业务扩展灵活性。

# 应用身份材料交付

g2rain-deploy 还负责保存前端应用身份相关材料,包括:

  • 应用公私钥
  • IAM 公钥
  • Key ID

这些材料与 OpenResty + Lua 协同使用,用于打通平台的应用独立身份安全链路。

# 核心业务流程

# 首次安装流程

  1. 检查依赖环境
  2. 初始化 .env
  3. 替换平台 SQL 配置占位符
  4. 可选生成 SSL 证书
  5. 拉取源码并执行镜像构建
  6. 写入安装完成标记

# 平台启动流程

  1. 选择 Compose CLI
  2. 合并主编排与业务片段
  3. 启动基础中间件与平台服务
  4. 等待核心依赖就绪
  5. 形成完整运行环境

# 平台更新流程

  1. 合并服务映射
  2. 拉取目标源码
  3. 构建更新镜像
  4. 按服务或全量重建运行栈

# 适用场景

  • 测试环境部署
  • 演示环境部署
  • 私有化交付
  • 平台持续更新
  • 多模块统一运行编排

# 相关模块

# 推荐阅读