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