Hermes CI Fix
|
443a779ece
|
fix(cma): DDL 与启动剥离 —— 关闭启动 create_all + 部署链特权迁移步 (cma-create-all-minpriv-rootfix-20260916)
ci/woodpecker/push/main Pipeline failed
根治 2026-09-16 发布中断(新增模型触发启动 create_all,cma_api 无 CREATE → 崩溃循环):
- backend/app/database.py: 新增 CMA_AUTO_CREATE 开关(**默认关**),生产启动不再执行 DDL;
运行库账号因此无需 CREATE(最小权限可保持)
- backend/scripts/db_migrate.py: 特权迁移步(--check/--apply/--rollback/--status);
幂等(checkfirst)+ journal 留痕 + 可回滚(dump 失败/表有数据即拒绝,fail-closed);
显式拒绝用应用运行账号 cma_api 执行
- deploy.sh: 新增 [4b] 结构迁移(**重启前**执行;失败即中止部署,后端旧码继续服务)
- backend/scripts/tests/db-migrate-sim-e2e.sh: 17 项 scratch 复现/验收(负控制复现 CREATE command denied)
- docs/db-migration-runbook.md: 运行手册(含 cma_api CREATE 回收步骤)
验收:scratch E2E 17/17;pytest 1113 passed/1 xfailed;生产 --check 缺失表 0 / 列级差异 0;
--apply 幂等空跑 created_new=0(journal 留痕)
|
2026-09-16 06:53:28 +08:00 |
|
wecom-project
|
db3c42f766
|
ci(deploy): [0] 脏检查忽略未跟踪文件(git pull 不丢未跟踪;防并发临时脚本误阻部署)(cma-deploy-untracked-fix-20260916)
ci/woodpecker/push/main Pipeline was successful
|
2026-09-16 01:06:21 +08:00 |
|
opsBot
|
6a48477d71
|
fix(deploy): 就绪轮询上限改墙钟判定(次数上限在挂死目标下会超时 5 倍)
ci/woodpecker/push/main Pipeline was canceled
- 起因: 项目Bot 复验 t2 时 caseD(挂死桩/上限10s) exit=1 elapsed=50s
- 根因: 目标接受TCP但不响应 -> 单次探测耗满 --max-time 2s, 次数上限(x2) 使 10s 上限实跑 50s, 默认 30s 最坏 150s
- 修正: while 条件改墙钟 [ $(date +%s) - READY_T0 -lt SMOKE_READY_MAX ], deploy.sh 与 .woodpecker/main.yml 同步
- 复验: A(慢起6s,cap30)=exit0/6s; B(空端口,cap3)=exit1/3s; C(200+degraded,cap3)=exit1/3s; D(挂死,cap10)=exit1/10s(修正前50s)
- task: t2-cma-deploy-readiness-poll-20260915 (follow-up)
|
2026-09-15 17:11:35 +08:00 |
|
opsBot
|
b7950249a7
|
fix(deploy): 冒烟就绪轮询判据 HTTP200+status=ok,替代固定 sleep(消除冷启动假告警)
- deploy.sh: 轮询块(0.5s 间隔 / 默认 30s 上限),超时明确报错 + exit 非 0;
SMOKE_HEALTH_URL/SMOKE_READY_MAX 可覆盖供离线演练;带 >>> cma-readiness-poll 标记便于抽取复用
- .woodpecker/main.yml backend-deploy: 同样去掉固定 sleep 3,改就绪轮询
- 验收: 离线演练 A(冷启动6s成功)/B(空端口超时非0)/C(200+degraded不误判)
- task: t2-cma-deploy-readiness-poll-20260915
|
2026-09-15 17:04:22 +08:00 |
|
wecom-project
|
f1d61f337a
|
ci(deploy): 鉴权面审计接入部署闸门 — B类缺口存在即中止部署 (t1-cma-audit-gate-deployhook-20260915)
|
2026-09-15 16:52:15 +08:00 |
|
Hermes CI Fix
|
40d522cd34
|
fix(security): retire default-credential surface (yanxue-20260914-cma-defaultcred-code-fix)
- Login.vue: no prefilled default creds; no anonymous entity enumeration on mount
- deploy.sh: readiness polling (0.5s/30s cap) replaces fixed sleep 3; login smoke reads same-source 600 secret file, missing file = explicit abort
- 19 verify/check/gen_report scripts: shared _admin_creds() loader (CMA_ADMIN_ENV -> ops .secrets -> profile copy); no hardcoded creds
- tests: single TEST_USER_PASSWORD fixture constant; docs: pointer to 600 secret file; removed 4 legacy .bak + pycache residue
|
2026-09-14 17:39:53 +08:00 |
|
Hermes CI Fix
|
b9c624fd7e
|
fix: 冒烟测试登录适配账套模式(entity_id=1)
|
2026-08-28 07:21:15 +08:00 |
|
Hermes CI Fix
|
1a6ea8afae
|
chore: CI流程加固+Schema检查门禁
- deploy.sh: 提交纪律检查(本地未提交修改→中止) + 冒烟测试(健康/登录/KPI/BOT/Schema)
- .woodpecker: 加前端typecheck+后端pytest测试步骤, backend-deploy加提交纪律检查
- 新增schema_check.py: ORM与数据库表结构一致性检查
- 修复budget_plans表缺3列(source_kpi_id/source_type/calc_logic)
- 附带入库: budget测试+文档
|
2026-08-28 07:18:54 +08:00 |
|
Hermes CI Fix
|
9d0f070c14
|
fix: deploy.sh 依赖更新不阻断部署(PEP668兼容)+ hook退出码检查
|
2026-08-11 11:16:12 +08:00 |
|
Hermes CI Fix
|
d99577dc5c
|
fix: deploy.sh venv激活兼容 — 精简venv无activate时直接用venv/bin/pip3
|
2026-08-11 11:14:54 +08:00 |
|
Hermes CI Fix
|
957dacd248
|
fix: 恢复5个被CI覆盖的前端文件+成本数据+预警定时器
- 从.bak恢复: BudgetManagement(72%代码丢失)/KPIList/DeviationDashboard/MapReview/NodeEditDialog
- 注册4个缺失后端API模块到main.py
- 新增3个前端路由(管理报表/战略执行看板/杜邦分析)
- 修复改善行动路由指向ActionPlanLibrary(原指向AlertList)
- deploy.sh增加git pull步骤
- 运行成本种子数据: 29标准成本+31实际成本+10ABC+25分配
- 补充非财务KPI预算: 72条(客户/流程/学习维度)
- 配置预警cron: 每30分钟自动检查
|
2026-07-13 09:52:06 +08:00 |
|
Hermes CI Fix
|
efec8a5a91
|
fix: deploy.sh干净部署(仅清理assets目录),避免旧文件残留
|
2026-07-12 18:35:12 +08:00 |
|
Hermes CI Fix
|
5d31c16906
|
fix: 补全全栈Bot所有P0/P1/P2功能 — 视角切换/客户路由/菜单/部署脚本加固
|
2026-07-12 18:34:13 +08:00 |
|
Hermes CI Fix
|
d90bc73cf5
|
[ops] fix deploy.sh: remove --no-frozen-lockfile flag, use venv for pip install; add post-receive hook script
|
2026-07-12 17:29:28 +08:00 |
|
Hermes CI Fix
|
3dddd36866
|
init: 管理会计OS初始代码
包含前后端完整代码:
- 前端:Vue3+Vite+ElementPlus
- 后端:FastAPI+SQLAlchemy
- 模块:驾驶舱/KPI/战略地图/预警/预算/成本/预测/改善行动
- 当前版本:v1.0.0
|
2026-05-28 17:32:22 +08:00 |
|