Commit Graph
4 Commits
Author SHA1 Message Date
hjhan 56256cad0b [EQD-6838] 补充踩坑注释:main.post 业务错误走 reject、本文件独立 script 部署、bundle 大小写敏感+非致命
- base/main.js __post/main.post:标注业务错误(success=false/errcode)与网络异常均走 deferred.reject,
  调用方只挂 .done 会静默跳过失败分支(约定2补充曾因此长期不生效)。
- app/swaptrade/swapTradeEdit.js calcBondForItem:标注本文件为独立 <script>(不在 bundle.js)、须 dotnet publish
  刷新 JsVersion 缓存键才生效;并展开 .fail 注释记录约定2补充一度不生效的历史根因。
- rebuild-bundles.py:标注 bundleconfig 输入路径在 Linux 大小写敏感(曾 MISSING 打挂 publish)、
  缺失输入必须非致命(否则 exit 1 连带打挂 dotnet publish)。纯注释,无逻辑改动。
2026-07-29 19:51:42 +08:00
hjhan fb00f13421 fix(EQD-6838): 修复 CI 因文件名大小写和脚本 fail-fast 阻塞构建
问题:
- bundleconfig.json 中 Myjs.js/isoweek.js 在 Linux CI 上找不到
  (实际文件名是 MyJs.js/isoWeek.js,Windows 不区分大小写所以本地能跑)
- py/ps1 脚本遇到缺失输入文件时 exit 1,导致 dotnet publish 失败,
  Jenkins 构建被阻塞,部署无法进行

修复:
- bundleconfig.json: Myjs.js → MyJs.js,isoweek.js → isoWeek.js
  (与实际文件名大小写一致,Linux CI 可正确找到)
- rebuild-bundles.py/ps1: 重建模式遇到缺失输入文件时只警告不 fail,
  跳过该 bundle 保留已提交产物,避免阻塞 CI 主构建
- 只有 Verify 模式(开发本地手动校验)才因缺失/BOM 报错 exit 1

设计原则:bundle 重建是"尽力而为",绝不能阻塞主构建和部署
2026-07-29 19:01:19 +08:00
hjhan 54b8ae5cf5 [EQD-6838] bundle 重建优化:挂 Build 触发点 + CI 强制全量 + 增量检查
- csproj: GenerateBundlesBeforePublish 改为 GenerateBundlesBeforeBuild,
  挂 BeforeTargets=Build 让 IDE F5/Rebuild 也能自动重建,开发者无需记命令
- rebuild-bundles.ps1/py: 加 CI 环境检测(CI/JENKINS_HOME/BUILD_NUMBER),
  CI 下强制全量重建避免 git checkout 后 mtime 不可靠;本地开发走增量检查
- rebuild-bundles.ps1: BOM 在重建模式下只警告不 fail(重建会自动剥离),
  避免 form-layout.css 的 BOM 阻塞 CI 部署
- csproj: 新增独立 VerifyBundles target 供手动校验,不影响 Build/Publish
- csproj: 新增 SkipBundleGeneration 属性开关,特殊场景可跳过自动重建
- deploy/jenkins-build.sh: 添加 Jenkins 构建脚本参考副本(不参与 CI 执行),
  更新注释说明 target 改名后的 CI 行为
2026-07-29 18:54:38 +08:00
hjhan 2bfdce6ee0 [EQD-6838] 前端 bundle 确定性重建:自动生成脚本 + 发布期自动打 bundle
新增 rebuild-bundles.py/.sh/.ps1,按 bundleconfig.json 确定性重建 6 个 bundle 产物(剥 BOM、CRLF->LF、文件间换行分隔、CSS 相对 url() 重写,已逐字节比对验证与已提交版一致,其中 bundle.css 修正了历史打包产生的 CSS 注释 GBK 乱码)。
YLErpWeb.csproj 新增 GenerateBundlesBeforePublish 目标,在 publish 前自动运行脚本重建 bundle(CI 自动生效,无 python3 时优雅跳过回退已提交产物),从此改源文件后部署自动重新打 bundle,不再需要手工记得到处重建。
.gitattributes 将 bundle 锁为 eol=lf,.editorconfig 为 JS/TS 加 charset=utf-8,从根上防止 BOM/ZWNBSP 复发。
2026-07-29 17:47:13 +08:00