flnxi-Wu/docs/harbor-image-management.md
WuYongJie ba98bf22cc feat: 添加许可证系统、Agent部署模块和Harbor镜像管理
- 新增许可证服务器 (license-server/)
- 新增 Agent 部署模块 (flnxi-agent/)
- 添加许可证验证和激活页面
- 添加 Harbor 镜像同步脚本
- 更新素材系统支持许可证验证
2025-12-15 21:19:46 +08:00

3.4 KiB
Raw Blame History

Harbor 镜像管理指南

镜像目录结构

harbor.flnxi.com/flnxi/
├── material/                    # 正式版镜像(客户拉取)
│   ├── flnxi-material:latest    # 最新正式版
│   ├── flnxi-material:1.0.0     # 版本标签
│   └── flnxi-material:1.0.1
│
├── material-dev/                # 测试版镜像(开发测试用)
│   ├── flnxi-material:latest    # 最新测试版
│   ├── flnxi-material:dev-xxx   # 开发分支
│   └── flnxi-material:test-xxx  # 测试版本
│
└── runtime/                     # 依赖镜像
    ├── postgres:16-alpine
    ├── minio:latest
    ├── mc:latest
    ├── redis:7-alpine
    ├── nginx:alpine
    └── node:20-alpine

工作流程

1. 开发阶段

构建开发版镜像,推送到 material-dev/ 目录:

# 构建并推送开发版
.\scripts\build-material-image.ps1 -Environment dev -Push

# 镜像会被推送到:
# harbor.flnxi.com/flnxi/material-dev/flnxi-material:dev-20241215-1430
# harbor.flnxi.com/flnxi/material-dev/flnxi-material:latest

2. 测试阶段

构建测试版镜像,推送到 material-dev/ 目录:

# 构建并推送测试版
.\scripts\build-material-image.ps1 -Environment test -Push

# 镜像会被推送到:
# harbor.flnxi.com/flnxi/material-dev/flnxi-material:test-20241215
# harbor.flnxi.com/flnxi/material-dev/flnxi-material:latest

3. 发布正式版

测试通过后,构建正式版镜像,推送到 material/ 目录:

# 更新版本号
echo "1.0.1" > VERSION.txt

# 构建并推送正式版
.\scripts\build-material-image.ps1 -Environment release -Push

# 镜像会被推送到:
# harbor.flnxi.com/flnxi/material/flnxi-material:1.0.1
# harbor.flnxi.com/flnxi/material/flnxi-material:latest

4. 同步 Runtime 镜像

首次部署或更新依赖版本时,同步 Runtime 镜像:

# 预览模式(不实际执行)
.\scripts\sync-harbor-images.ps1 -DryRun

# 执行同步
.\scripts\sync-harbor-images.ps1

客户拉取

客户通过 Agent 安装时,会自动从以下地址拉取镜像:

  • 素材系统:harbor.flnxi.com/flnxi/material/flnxi-material:latest
  • PostgreSQL:harbor.flnxi.com/flnxi/runtime/postgres:16-alpine
  • MinIO:harbor.flnxi.com/flnxi/runtime/minio:latest
  • Redis:harbor.flnxi.com/flnxi/runtime/redis:7-alpine

如果 Harbor 不可用,会自动回退到 Docker Hub 官方镜像。

版本管理

版本号规范

  • 正式版:x.y.z(如 1.0.0、1.0.1、1.1.0)
  • 测试版:test-yyyyMMdd(如 test-20241215)
  • 开发版:dev-yyyyMMdd-HHmm(如 dev-20241215-1430)

版本文件

项目根目录的 VERSION.txt 文件记录当前正式版本号:

1.0.1

构建正式版时会自动读取此文件。

镜像保留策略

建议在 Harbor 中配置以下保留策略:

  • material/:保留最近 10 个版本
  • material-dev/:保留最近 5 个版本
  • runtime/:保留所有版本(依赖镜像较少)

常用命令

# 登录 Harbor
docker login harbor.flnxi.com

# 查看本地镜像
docker images | grep flnxi

# 删除本地测试镜像
docker rmi $(docker images -q harbor.flnxi.com/flnxi/material-dev/*)

# 拉取最新正式版
docker pull harbor.flnxi.com/flnxi/material/flnxi-material:latest