docs/deploy/ 是仓库内唯一正式部署入口。
oilan/、jm/、hdu/ 是 3 套环境ci/ 是共享构建链路,不代表单独环境docs/docs/deploy/ 不再使用按环境进入对应入口。
bash docs/deploy/ci/build_images.sh bash docs/deploy/oilan/deploy_cluster.sh
bash docs/deploy/ci/build_images.sh bash docs/deploy/jm/deploy_cluster.sh
bash docs/deploy/ci/build_images.sh bash docs/deploy/oilan/deploy_cluster.sh bash docs/deploy/jm/deploy_cluster.sh
bash docs/deploy/hdu/deploy_cluster.sh
补充说明:
docs/deploy/ci/build_images.sh 的镜像构建统一在远端 master-node 执行/run/containerd/containerd.sock 或 buildkitd.sock 报错,优先排查 89 节点运行时,不要误判为本地容器环境问题deploy-full.sh 只是 Oilan + JM 的便捷包装,不覆盖 HDU如果只更新其中一个集群:
deploy_cluster.sh主站发布从现在开始统一遵循下面这条规则:
latest 当作正式发布版本YYYYMMDD-HHMMSS-<git短sha>20260427-frontend-classroom-fixesvalues.images.lock.json 指定镜像版本kubectl set image 只能用于应急,事后必须回写到 Git 中的部署真相源当前 Oilan 主站镜像版本真相源:
docs/deploy/oilan/cd/zhiyong/values.images.lock.jsondocs/deploy/oilan/cd/zhiyong-tools/values.images.lock.json标准口径:
bash docs/deploy/ci/build_images.shbash docs/deploy/oilan/deploy_cluster.sh不要再使用“构建一个 latest,然后 rollout restart”这种流程判断是否发布成功。
所有部署脚本通过 docs/deploy/lib/resolve_doops.sh 自动定位 DOOPS 二进制,无需手动 export。
当前环境 DOOPS 实际路径:
<仓库根>/.local/bin/doops
脚本自动搜索顺序(找到即停止):
$DOOPS 环境变量(已设置且可执行时直接用)~/.agent/skills/doops/doops-cli~/.local/bin/doops<仓库根>/.local/bin/doops ← 当前环境实际路径<仓库根>/zhiyong-lab-api/platform-tools/doops/skills/doops-cli/doops(需先编译)如以上都找不到,脚本会报错并列出已尝试的路径。
| 目录 | 作用 |
|---|---|
docs/deploy/ci/ | 全局 CI,统一构建并推送主 Harbor |
docs/deploy/oilan/ | Oilan 集群发布入口 |
docs/deploy/jm/ | JM 集群发布入口 |
docs/deploy/hdu/ | HDU 环境发布入口 |
docs/deploy/*/cd/ | 各集群自己的 Helm 配置真相源 |
docs/deploy/scripts/ | 跨环境数据同步/运维辅助脚本,不是标准发版入口 |
docs/deploy/lib/resolve_doops.sh | 统一解析可执行 DOOPS 路径(各脚本 source) |
docs/deploy/ci/ 的构建产物helm template + kubectl apply fallbackdocs/deploy/{oilan,jm,hdu}/cd/values.yaml 里的 imageTag: latestzhiyong-manager-api 的标准构建口径是:通过 DOOPS 在远端构建机执行 Maven/镜像构建。manager-api 在本地、普通容器、临时 shell 或缺少私有仓库凭证的环境里 Maven 失败,不得直接得出“仓库本身不可构建”的结论。WOPI / Collabora / 文档预览链路时,必须把 业务实现问题 和 构建链路问题 分开判断:
manager-api 是否按 DOOPS 远端标准链路成功构建并部署WOPI 后端实现、配置或运行时问题manager-api 仓库本身不可构建,因为它不知道是在 doops 里编译”这类表述。manager-api 仓库不可构建;标准口径应以 DOOPS 远端构建结果为准。”WOPI/Collabora 运行链路,和 manager-api 是否能按标准链路构建是两个独立判断。”deploy/cd/... 只是历史兼容说法,当前一律以 docs/deploy/... 为准2026-04 课堂管理修复上线时,除了常规镜像发布,还需要额外确认两件事:
课堂设置、邀请码和成绩管理新增/依赖以下库变更,脚本位于:
zhiyong-manager-api/src/main/resources/sql/fix_classroom_p0_issues.sql
执行说明见:
docs/deploy/sql/CLASSROOM_FIX_MIGRATION.md
至少包含:
teaching_classrooms.schedule_descteaching_classrooms.current_task_idclassroom_gradebook_manual_score 手工成绩覆盖表如果不执行 SQL,以下功能不会真正落地:
课堂修复对应前端以 zhiyong-frontend 为准,已验证命令:
cd zhiyong-frontend
npm run build:admin
当前会有若干 chunk size warning,但构建可成功完成。
zhiyong-manager-api 本地编译依赖私有仓库 maven.cnb.cool 的 cn.l8ai:l8ai-parent:4.0.0 及一组 l8ai-*starter。
已确认当前常见失败模式是:
401 Unauthorizedinvalid token or repo path也就是 凭证 / 仓库路径不可用,不是业务代码编译错误。
在凭证恢复前,不要把 manager-api 的本地 Maven 失败误判为课堂修复回归。