-
Notifications
You must be signed in to change notification settings - Fork 0
Build
blycr edited this page Feb 18, 2026
·
5 revisions
- Go 1.25+
- Node.js 18+(用于前端构建)
- pnpm(推荐使用,更快的包管理工具)
- Windows PowerShell(一键脚本)
- 可选:macOS(用于合并 universal 与签名)、Docker(用于旧 glibc 兼容)
- 默认生成 Windows x64:
-
scripts/build.ps1或scripts/build.sh
-
- 指定平台/架构:
- Windows:
scripts/build.ps1 -Platforms windows -Architectures x64,x86 - Linux/macOS:
scripts/build.sh -Platforms windows,linux,macos,arm -Architectures x64,x86,amd64,arm64,v7,v8
- Windows:
- 产物目录:
bin/windows/x64/msp-windows-amd64.exewindows/x86/msp-windows-386.exelinux/amd64/msp-linux-amd64linux/arm64/msp-linux-arm64arm/v7/msp-arm-v7arm/v8/msp-arm-v8-
macos/msp-macos-amd64,macos/msp-macos-arm64
- 校验目录:
checksums/(对应.sha256) - 调试拷贝目录:
debug/(便于分发与符号管理) - 说明:可执行文件仅生成在
bin/目录,不在仓库根生成可执行文件
lipo -create -output bin/macos/msp-macos-universal \
bin/macos/msp-macos-amd64 bin/macos/msp-macos-arm64- 可选签名(需开发者证书):
codesign --force --sign "Developer ID Application: 你的名字 (TEAMID)" \
--options runtime --timestamp bin/macos/msp-macos-universal- 推送标签触发:推送
v*标签会自动构建全部平台并创建 Release。 - 手动触发:在 Actions 里选择
release工作流,填入version与notes。 - 工作流文件:
.github/workflows/release.yml- 包含
build-linux、build-macos、build-windows三个作业与最终release作业 - 作业内已接入一键脚本:Linux/macOS 使用
scripts/build.sh,Windows 使用scripts/build.ps1 - 会将所有平台产物与校验文件打到 Release 附件
- 包含
- 纯 Go 构建不依赖 glibc;如需 glibc 2.17 动态链接版本,建议使用 CentOS 7 Docker 镜像并启用 CGO。
- 该选项可在未来按需添加,不影响当前“原生跨平台”构建方案。