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

134 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/` 目录:
```powershell
# 构建并推送开发版
.\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/` 目录:
```powershell
# 构建并推送测试版
.\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/` 目录:
```powershell
# 更新版本号
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 镜像:
```powershell
# 预览模式(不实际执行)
.\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/`:保留所有版本(依赖镜像较少)
## 常用命令
```powershell
# 登录 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
```