- 新增许可证服务器 (license-server/) - 新增 Agent 部署模块 (flnxi-agent/) - 添加许可证验证和激活页面 - 添加 Harbor 镜像同步脚本 - 更新素材系统支持许可证验证
134 lines
3.4 KiB
Markdown
134 lines
3.4 KiB
Markdown
# 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
|
||
```
|