新增部署打包指南:新机器从 git 克隆到可编译可打包的完整流程(git内外资源清单/工具链/运行时资源从安装目录恢复的映射表/环境验证/8步发版链/常见问题/数据安全提醒);README 加链接
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# 成套报价软件 部署打包指南(新机器从 git 到可打包运行)
|
||||
|
||||
> 适用场景:换新电脑/新人接手——git 仓库里只有源码,本文教你把一台空机器变成**可编译、可打包、可发版**的开发机。
|
||||
> 日常发版流程见 `README.md`「版本号与发版流程」或打包技能(`.agents\skills\winforms-designer-package\SKILL.md` 项目专章)。
|
||||
|
||||
## 一、为什么 clone 后不能直接打包?
|
||||
|
||||
git 仓库为控制体积,**故意不存**以下运行时资源(可用其他方式恢复,见第三节):
|
||||
|
||||
| 资源 | 体积 | 用途 | 恢复来源 |
|
||||
|---|---|---|---|
|
||||
| `licenses\`(8 份开源许可证全文) | 小 | 打包+关于窗口 | 安装目录 / 老开发机 |
|
||||
| `元件库网页\`(node 静态服务数据) | ~2MB | 元件库选型功能 | 同上 |
|
||||
| `cadbt\cadbt\CAD-Viewer\`(网页 CAD 引擎 dist+字体) | 大 | CAD 扒图 | 同上 |
|
||||
| `cadbt\cadbt\bin\Debug\node\`(node.exe) | ~80MB | 网页服务运行时 | 同上 |
|
||||
| `ai助手\zcode\`(ZCode 引擎发行包) | ~400MB | AI 助手 | 同上 / 官方 zai-org/ZCode |
|
||||
| `bin\Debug\` 下运行数据(sjk 种子/shezhi 参数/xiangmu 模板/GCS 运行件/icons PNG) | ~10MB | 程序运行+打包取数 | 同上 |
|
||||
| `tools\MicrosoftEdgeWebview2Setup.exe` | 2MB | 打包用 | **git 里有** ✓ |
|
||||
|
||||
## 二、工具链安装(一次性)
|
||||
|
||||
| 工具 | 获取 | 用途 |
|
||||
|---|---|---|
|
||||
| **.NET Framework 4.8 + Developer Pack** | 微软官网 NDP48-DevPack 离线包 | 编译(缺 Dev Pack 会报 MSB3644) |
|
||||
| **定制版 SharpDevelop 5.2**(MSI) | 项目配套安装包,装到默认 `C:\Program Files (x86)\SharpDevelop\5.2\` | ①提供编译引用的 Smart.CustomComponents/WeifenLuo/System.Data.SQLite 等 DLL ②SD 设计器改窗体(必须是最新构建,旧包缺控件) |
|
||||
| **Inno Setup 6 + 中文语言包** | 官网 + `ChineseSimplified.isl`(装法见打包技能第 3 步) | 打安装包 |
|
||||
| **Python 3** | python.org | 打包脚本 make_package.py 等 |
|
||||
| **git** | 任意 | 克隆/提交 |
|
||||
|
||||
## 三、环境准备(一次性,装完即可反复打包)
|
||||
|
||||
```powershell
|
||||
# 1. 安装一次当前正式版,形成完整运行时底座 C:\成套报价软件
|
||||
# (用最新 Release 的 成套报价软件_Setup_<版本>.exe)
|
||||
|
||||
# 2. 克隆仓库
|
||||
git clone http://192.168.9.43:3000/0999we/ctbjrj.git
|
||||
cd ctbjrj # 即仓库根
|
||||
|
||||
# 3. 从安装目录恢复 git 外运行时资源(映射表,直接复制)
|
||||
$src = 'C:\成套报价软件'
|
||||
# 3a. bin\Debug 运行数据(make_package 从这里取数)
|
||||
mkdir 成套报价软件\bin\Debug -Force
|
||||
Copy-Item "$src\licenses" 成套报价软件\bin\Debug\licenses -Recurse
|
||||
Copy-Item "$src\元件库网页" 成套报价软件\bin\Debug\元件库网页 -Recurse
|
||||
Copy-Item "$src\sjk" 成套报价软件\bin\Debug\sjk -Recurse # 种子库;bjb\方案库 个人数据可不拷
|
||||
Copy-Item "$src\shezhi" 成套报价软件\bin\Debug\shezhi -Recurse # 铜排/铝排参数
|
||||
Copy-Item "$src\xiangmu" 成套报价软件\bin\Debug\xiangmu -Recurse # 报表模板
|
||||
Copy-Item "$src\GCS铜排壳体计算" 成套报价软件\bin\Debug\GCS铜排壳体计算 -Recurse
|
||||
Copy-Item "$src\icons" 成套报价软件\bin\Debug\icons -Recurse # 功能区 PNG 图标
|
||||
# 3b. CAD 网页引擎 + node(打包与开发调试回退路径)
|
||||
mkdir cadbt\cadbt\bin\Debug\node -Force
|
||||
Copy-Item "$src\cadbt\node\node.exe" cadbt\cadbt\bin\Debug\node\node.exe
|
||||
mkdir cadbt\cadbt\CAD-Viewer\packages\cad-viewer-example -Force
|
||||
Copy-Item "$src\cadbt\CAD-Viewer\dist" cadbt\cadbt\CAD-Viewer\packages\cad-viewer-example\dist -Recurse
|
||||
# 3c. AI 引擎发行包
|
||||
Copy-Item "$src\ai助手\zcode" ai助手\zcode -Recurse
|
||||
```
|
||||
|
||||
> 老开发机仍在用时,也可以直接从老机器整目录拷贝上述内容(等价)。
|
||||
> `tools\MicrosoftEdgeWebview2Setup.exe` 在 git 里,无需另备。
|
||||
|
||||
## 四、验证环境就绪(编译+组装各跑一遍)
|
||||
|
||||
```powershell
|
||||
# 编译(★ 工作目录必须是 成套报价软件\ 子目录,rsp 相对路径基于它)
|
||||
cd 成套报价软件
|
||||
& "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" "@..\tools\verify_build.rsp" /warn:1
|
||||
# 预期: 无输出无警告, ExitCode=0
|
||||
|
||||
# 组装发布目录(回仓库根跑)
|
||||
cd ..
|
||||
python tools\make_package.py
|
||||
# 预期: "DLL 复制完成,缺失: 无" 且无 "!!" 警告
|
||||
# 首次部署若提示缺 fonts/templates/server.cjs,属正常——开发机从部署机补齐的逻辑,
|
||||
# 你机器上 $src\cadbt\CAD-Viewer\dist 已含这三样,核对输出无 "!!" 即可
|
||||
```
|
||||
|
||||
两条都过 = 环境就绪,随时可打包发版。
|
||||
|
||||
## 五、日常打包发版(8 步,详见打包技能项目专章)
|
||||
|
||||
```
|
||||
① tools\递增版本号.ps1 版本号+1(AssemblyInfo+setup.iss 同步)
|
||||
② 杀占用进程 → 编译(同第四节)
|
||||
③ python tools\make_package.py 组装发布目录
|
||||
④ ISCC release\成套报价软件\setup.iss 出 成套报价软件_Setup_<版本>.exe(~2分钟)
|
||||
⑤ 改 make_update_package.py(包名带版本+本期说明)→ python 运行 出更新包
|
||||
⑥ git add -A; git commit; git push
|
||||
⑦ Gitea Release:tag=v<版本>,附件=安装包+更新包(API+令牌,见技能)
|
||||
⑧ 验收:装机看"关于软件"版本号
|
||||
```
|
||||
|
||||
## 六、常见问题
|
||||
|
||||
| 现象 | 原因 | 处置 |
|
||||
|---|---|---|
|
||||
| 编译报 CS2001 全部源文件找不到 | 工作目录错了 | 必须 `成套报价软件\` 子目录里跑 `@..\tools\verify_build.rsp` |
|
||||
| 编译报缺 Smart.CustomComponents 等 | 没装定制版 SharpDevelop 或装在非默认位置 | 装 MSI 到默认目录;非默认位置需改 rsp 引用路径 |
|
||||
| make_package 提示缺 icons/licenses/元件库网页 | 第三节 3a 没做 | 按映射表补拷 |
|
||||
| 打出的包 CAD 打不开/缺字体 | CAD-Viewer dist 或 node 没恢复 | 按第三节 3b 补拷 |
|
||||
| AI 助手起不来 | zcode 发行包缺失 | 按第三节 3c 补拷 |
|
||||
| exe 被占用编译/复制失败 | 程序正在运行 | `Get-Process \| Where {$_.Path -like '*成套报价软件*'} \| Stop-Process -Force` |
|
||||
| SD 设计器打不开窗体/一片 CS0246 | SharpDevelop 是旧构建 | 换最新构建的 MSI 重装(详见 sd-enhanced-components 技能第四章) |
|
||||
|
||||
## 七、数据安全提醒
|
||||
|
||||
- `bin\Debug\sjk\bjb\`(项目库)、`sjk\方案库\`、`shezhi\` 企业信息是**用户数据**,换机器不要互拷(打包脚本会自动排除)。
|
||||
- git 仓库与 Release 附件不含任何用户项目数据。
|
||||
Reference in New Issue
Block a user