yml2213
|
ccbcb7cbae
|
fix(deploy): --backend-only/--all 不该连带跳过"改动范围"的计算
真机验证时发现:显式指定 --backend-only 会直接 return,没算 git diff,
于是 DIFF_KNOWN 一直是 false —— "无 migrations 改动就自动跳过备份"的判断随之失效,
一次只想重建后端的部署照样会跑 pg_dump + 传 OSS(生产上约 12 分钟)。
修复:拆成两步
- compute_changed_files:只回答"自上次成功部署以来改了什么"(CHANGED_FILES / DIFF_KNOWN /
ENV_CHANGED / LAST_DEPLOYED_SHA),在任何分支下都先算;
- detect_changed_services:只决定"重建哪一端",显式参数(--all/--backend-only/--web-only/
--reset-db)只覆盖重建范围,不覆盖改动范围。
- print_plan 改用 LAST_DEPLOYED_SHA,不再重复读状态文件。
补一条顺序守卫用例:compute_changed_files 必须在 detect_changed_services 之前调用。
|
2026-10-03 16:42:55 +08:00 |
|
yml2213
|
9b6aa8e2fd
|
fix(deploy): 中文路径被 git 转义 → 按需重建误判为"两端全建"
首次真机验证按需重建时踩到:`git diff --name-only` 默认 core.quotePath=true,
docs/部署说明.md 会输出成 "docs/\351\203\250...",匹配不到 docs/* 规则,
一路掉进"拿不准就两端都重建"的兜底分支——只改文档却重建了 backend + web。
修复:
- 新增 classify-changes.sh --git-diff <from> <to> [repo],内部用
`git -c core.quotePath=false diff --name-only`,部署脚本改走它;
- 分类时顺带剥掉可能残留的首尾引号;
- 补回归用例:临时 git 仓库里提交中文文件名,断言改动列表保留中文原文、
且最终分类为空(不加 --git-diff 时该用例会失败,已实测复现)。
|
2026-10-03 16:34:18 +08:00 |
|
yml2213
|
0b48313617
|
feat(deploy): 部署改成按需重建,无 schema 变更自动跳过备份
每次部署都无条件重建 backend + web 两个镜像(实测后端 3m35s、前端 2m54s),
并且每次都在迁移前 pg_dump + 传 OSS(生产 492MB dump 那一步约 12 分钟);
只改了后端也要把前端整条链重跑一遍。
改动:
- 新增 deploy/lib/classify-changes.sh:把改动文件映射成"要重建哪一端",
规则保守——apps/backend/** → backend、apps/frontend/**|deploy/caddy/**|前端 Dockerfile → web、
文档/部署脚本/测试文件 → 不重建,compose 文件与未知路径 → 两端都重建。
- ubuntu-deploy.sh 用 .deploy-state(上次成功部署的 commit + .env 指纹)算 git diff,
未变化的一端不 build、也不 --force-recreate,容器保持运行;若它没在跑则用现有镜像拉起。
两端都要建时合并为一次 compose build(bake 并行)。
- 备份:改动不含 apps/backend/src/db/migrations/** 时自动跳过(--backup 强制、
--skip-backup 无条件跳过);算不出改动范围(首次使用、force push)时不自动跳过。
- compose pull 改 --policy missing:不再每次重新校验 postgres tag,避免顺手静默升级数据库镜像。
- 新增 --dry-run(打印计划后退出,含基础镜像 digest)、--all、--backend-only/--web-only;
部署结束打印各阶段耗时,回答"这次怎么比上次慢"不用靠推算。
- .deploy-state 进 .gitignore;README 与 docs/部署启动与数据库重建.md 同步。
验证:新增 7 个用例直接执行分类脚本断言"改动→重建范围",并守住"状态只在健康检查后才落盘"
等关键顺序;全量 595 个单测、typecheck、lint、check:sql 全通过。
|
2026-10-03 16:29:05 +08:00 |
|
yml2213
|
6dcdec43f1
|
chore(deploy): 数据库与各服务增加资源限制和优雅关闭保护
- postgres 增加 mem_limit/cpus/shm_size/stop_grace_period 与 PG
性能参数(shared_buffers 等,env 可覆盖);backend/web 增加
内存/CPU 限额与更长的优雅关闭宽限(生产与开发编排同步)
- ubuntu-deploy.sh 增加部署前磁盘空间预检,防止备份或迁移
中途磁盘写满
- .env.server.example 补充资源变量;文档补充容器资源限制说明
|
2026-08-30 13:59:19 +08:00 |
|
yml2213
|
d56189fe59
|
完善数据库备份恢复链路
|
2026-08-23 14:39:30 +08:00 |
|
yml2213
|
9080476dd6
|
生产编排移除内置MinIO图片存储全面改走阿里云OSS
|
2026-08-23 13:38:32 +08:00 |
|
yml2213
|
bc2909d6f2
|
打手端迁移至独立子域名
|
2026-08-16 16:08:38 +08:00 |
|
yml2213
|
784459232d
|
修复部署脚本 COMPOSE_PROFILES 跳过 MinIO 不生效的问题
- 仅在未设置 COMPOSE_PROFILES 时默认激活 storage profile,避免覆盖环境变量空值
- ensure_docker 改为按数组长度判断,移除恒为 false 的死代码
- start_minio 按 profile 值匹配,避免将来新增 profile 时误判
|
2026-08-05 12:36:16 +08:00 |
|
yml2213
|
1155b3c608
|
文档对齐 React 技术栈,并支持渐进式数据库迁移
将 README 与部署文档从仅 init 改为 001 基线 + 增量迁移约定,并补充 create/status 脚手架与序号校验。
|
2026-07-10 12:36:36 +08:00 |
|
yml2213
|
ce01c2aa34
|
优化数据库
|
2026-07-10 08:47:08 +08:00 |
|
yml2213
|
3318ed18ee
|
优化启动脚本
|
2026-07-09 21:39:47 +08:00 |
|
yml
|
ccc350cfea
|
优化任务状态投影和部署文档
|
2026-05-28 11:12:40 +08:00 |
|
yml2213
|
3b0319dfe3
|
优化一键部署脚本, 增加cloudtentacles
|
2026-05-26 17:24:27 +08:00 |
|
yml2213
|
4d7f9cbca2
|
增加ubuntu部署脚本
|
2026-05-26 16:54:30 +08:00 |
|