4.4 KiB
4.4 KiB
09 domainCheck 交付打包说明
一、用途
用于在 Windows 或 Linux 上把当前可交付内容整理成一份发布包,便于:
- 发给运维或部署同事
- 存档版本快照
- 迁移到 Linux 服务器前做交付留档
二、打包脚本
根目录脚本:
package_domain_release.ps1verify_domain_release.ps1prepare_final_release.ps1show_latest_release.ps1package_domain_release.shverify_domain_release.shprepare_final_release.shshow_latest_release.sh
Windows 执行方式:
powershell -ExecutionPolicy Bypass -File .\package_domain_release.ps1
Linux / 海外主机执行方式:
bash ./package_domain_release.sh
如需一键完成“打包 + 验包 + 生成最终准备报告”:
powershell -ExecutionPolicy Bypass -File .\prepare_final_release.ps1
bash ./prepare_final_release.sh
如需快速查看当前最新交付物:
powershell -ExecutionPolicy Bypass -File .\show_latest_release.ps1
bash ./show_latest_release.sh
注意:
show_latest_release.*现在不只是“显示最近一次 final report 是否存在”- 它会额外校验
final_release_report.json是否真的对应当前latest_release.* - 只有
final_release_report_matches_latest=true时,final_release_ok=true才有意义 final_release_gate_decision / blocked_reasons / verify_ok / smoke_test_ok用于解释“为什么当前能签 / 不能签”- Ops Center 里的“直接创建 Release / 一键 Worker 灰度 / 一键 Control 发布”
- 现在会硬性依赖
final_release_ok=true - 如果 final report 缺失、过期或门禁未 ready,前端会禁用按钮,后端接口也会拒绝执行
- 现在会硬性依赖
三、输出位置
打包后会生成:
release/domaincheck_release_时间戳/release/domaincheck_release_时间戳.ziprelease/domaincheck_release_时间戳.tar.gzrelease/domaincheck_release_时间戳.sha256.txtrelease/latest_release.txtrelease/latest_release.jsonrelease/final_release_report.json
四、当前会包含的内容
docs/scripts/scripts/中会同时带上 PowerShell 和 Shell 版发布脚本domain-api/appdeployREADME.mdrequirements.txt.env.example
domain-web/srcdeployREADME.mdpackage.jsonpackage-lock.jsontsconfigvite.config.ts.env.example.env.production.example- 若存在则带上
dist
同时会生成:
release_manifest.jsonREADME_RELEASE.txtsmoke_test_report.json- 若打包时本机 Web/API 正常运行,则自动生成并随包带出
.sha256.txt- 用于校验 zip 交付包完整性
五、建议使用顺序
- 先阅读
docs/08_domainCheck_交付说明.md - 查看
release_manifest.json - 查看
smoke_test_report.json - 核对
.sha256.txt或执行:
powershell -ExecutionPolicy Bypass -File .\verify_domain_release.ps1
bash ./verify_domain_release.sh
- Windows 联调先跑
scripts/smoke_test_stack.ps1 - Linux 部署前阅读:
docs/05_domainCheck_Linux部署清单.mddocs/07_domainCheck_WebLinux发布验收清单.mddomain-api/deploy/linux/README.md
六、说明
当前打包内容偏向“交付部署包”和“源代码归档包”,不包含:
node_modules- Python 虚拟环境
- 临时运行日志
- 数据库数据本体
这样更适合交付、存档和迁移。
Windows 默认产物为 .zip,Linux 默认产物为 .tar.gz;两者都会生成同结构的 release_manifest.json / .sha256.txt / latest_release.*,便于海外控制面统一管理。
latest_release.txt / latest_release.json 用于快速定位“当前最新一份交付包”,避免人工翻目录。
若打包目录本身是 Git 仓库,脚本还会自动写入 commit_sha / commit_ref;海外控制面在创建 Release 时可以直接回填提交号,减少人工抄写出错。
final_release_report.json 用于记录最近一次“打包 + 验包”的最终状态。
show_latest_release.* 读取这个报告时,还会校验:
package_namearchive_path/zip_pathsha256
也就是说,即使目录里留着一份旧的 final_release_report.json,只要它不是给当前最新包签出的,final_release_ok 也不会误报为 true。