桌面端打包
构建、验证并打包 Electron 客户端,避免把本地产物误当成已发布版本。
iPolloWork 分为三个构建层级。请使用能够证明当前目标的最小命令。
项目把构建、快速本地验证和面向发布的打包流程明确分开。
- 01构建
编译 UI、服务端、Electron shell 和 sidecar。
- 02验证
使用解包桌面应用快速完成本地检查。
- 03打包
为当前机器生成原生安装包与便携产物。
- 04发布矩阵
通过 GitHub 发布流程交付签名的多平台版本。
| 命令 | 结果 |
|---|---|
./ipollowork build | 生成生产 UI、服务端、Electron shell 与 sidecar,不产生安装包。 |
./ipollowork package:dir | 生成用于快速验证的解包桌面应用。 |
./ipollowork package | 执行检查、推进版本,并为当前机器生成原生安装包。 |
选择能证明当前变更的最小产物。不要把本地未签名安装包称为公开、已签名的发布版本。
源码正确性
执行当前检出版本的项目验证契约。
证明应用包能够编译,不证明安装包一定可安装。
宿主机专属验证
`package:dir` 为当前机器生成快速可执行的验证产物。
`package` 为当前 OS 与 CPU 生成安装或便携输出。
分发责任
需要对应平台身份和发布工作流。
多平台交付必须在每个受支持平台构建并验证。
推荐的本地顺序
./ipollowork check
./ipollowork package:dir
./ipollowork package
Windows 使用 .\ipollowork.cmd。
所有输出位于 apps/desktop/dist-electron/。本地打包只面向当前操作系统和 CPU,不是 GitHub 发布流程的替代品。正式发布流程才负责完整的签名或公证平台矩阵。
预期的本地产物
- macOS:
.dmg、.zip与解包.app - Windows:NSIS
.exe与win-unpacked/ - Linux:
.AppImage、.tar.gz与linux-unpacked/
除非提供相应的 Apple 或 Windows 凭据,本地包默认未签名。它们适合内部验证,不代表正式公开发布。
验证真正生成的产物
完成 package:dir 后,打开解包的桌面应用,并通过真实本地运行时执行变更工作流。这是验证 UI、preload、本地服务或 sidecar 集成变更的最快路径。完成 package 后,验证宿主操作系统对应的安装或启动路径,并确认加载的是打包后的应用,而不是开发服务器。
保持以下检查顺序:
- 在目标版本运行
./ipollowork check。 - 生成
package:dir并验证聚焦的桌面端路径。 - 仅在需要验证安装包或宿主机原生发布产物时再生成
package。 - 记录操作系统、CPU 架构、产物名称以及是否应用了签名/公证。
- 使用仓库 release workflow 构建已签名的多平台矩阵;不要在任意一台工作站上手工拼出该矩阵。
如果问题是运行时组装而非 Electron 打包,请阅读 Orchestrator 与 Sandbox。完整的发布证据和恢复路径请阅读 可观测性与恢复。