跨平台构建与分发
平台边界
Windows、macOS 和 Linux 桌面应用需要各自的原生工具链。Windows 本机不能可靠生成和签名 macOS DMG,普通 Linux 容器也不能替代 macOS 原生构建环境。
PetPack 提供两种可验证的跨平台路径:目标设备轻量构建,或 GitHub Actions 原生 runner 构建。
当前平台成品和跨平台构建包
| 发布方式 | 产物 | 适用场景 |
|---|---|---|
| 当前平台成品 | 当前系统运行程序、petpack.bundle、说明和 ZIP | 当前设备使用,或分发给相同平台和架构的用户 |
| 跨平台构建包 | 宠物资源、构建请求、轻量 builder 和目标设备脚本 | 分发到不同操作系统,在目标设备生成原生桌宠 |
目标设备构建流程
- 在 Studio 导入并验证宠物。
- 在“发布桌宠”区域选择“导出跨平台构建包”。
- 将生成的 ZIP 分发到目标设备。
- 解压后双击
START-HERE.html,按接收设备选择一键入口:- Windows:双击
BUILD-WINDOWS.cmd; - macOS:右键
BUILD-MAC.command并选择“打开”; - Linux:运行
BUILD-LINUX.sh。
- Windows:双击
- 在
output/获取原生桌宠目录和 ZIP。
构建包结构:
text
petpack-cross-platform/
├── petpack.bundle/
├── build-request.json
├── builders/
├── START-HERE.html
├── BUILD-WINDOWS.cmd
├── BUILD-MAC.command
├── BUILD-LINUX.sh
├── build-here.ps1
├── build-here.sh
└── README.md接收端不需要完整 Studio,也不需要 Codex。一键入口会检查构建器;若接力包未携带对应版本,首次运行会从固定的 PetPack Builder Release 自动下载,随后执行构建并打开 output/。失败时终端窗口会保留明确错误,不会一闪而过。
首次自动下载需要能访问 GitHub Release。下载失败时,START-HERE.html 会给出构建器发布页,可手动下载并解压到 builders/。Windows 可执行文件仍不能直接生成 macOS .app;macOS 构建器会按 Apple Silicon 或 Intel 自动选择。
GitHub Actions 原生构建
仓库包含三套工作流:
| 工作流 | 用途 |
|---|---|
build.yml | 构建 Studio 的 Windows NSIS、macOS DMG、Linux AppImage/DEB |
build-builders.yml | 构建 Windows、macOS、Linux 轻量 builder |
build-pet.yml | 从可下载的跨平台构建包生成各平台桌宠 |
运行 build-pet.yml 时填写 source_url。工作流会下载、检查并解压构建包,然后在原生 runner 上调用对应 builder。
Studio Release 产物
正式 Release 建议包含:
- Windows x64 NSIS;
- macOS Apple Silicon DMG;
- macOS Intel DMG;
- Linux x64 AppImage;
- Debian/Ubuntu x64 DEB;
SHA256SUMS.txt;- 简短更新说明和未签名提示。
代码签名
未配置证书时,CI 只能生成未商业签名的社区构建:
- Windows 正式公开分发建议使用 Authenticode 代码签名;
- macOS 建议使用 Developer ID、Hardened Runtime、公证和 stapling;
- Linux 可根据发行版补充仓库签名或包签名。
未签名包的首次启动方法见常见问题与排错。
Docker 的作用
Docker Web Studio 提供与桌面版一致的导入、校验、逐行动画预览和接力包导出流程,但不显示“构建当前 Linux 平台”。容器中可以挂载由原生 runner 预构建的 builder;容器 Linux 不被视为用户的目标设备,也不负责生成或签名 macOS 原生应用。详见 Docker Web 版。
