# 多架构构建策略详解 ## 1. 架构支持 ### 目标架构 - `amd64`(x86_64) - `arm64`(ARM 64位) ## 2. 交叉编译优化 ### 编译参数调整 - 跨平台编译时:`MAKE_JOBS=-j2` - 本地平台编译:`MAKE_JOBS=-j$(nproc)` ### 关键构建参数 - `TARGETARCH`:目标架构 - `BUILDPLATFORM`:构建主机架构 - `TARGETPLATFORM`:完整目标平台信息 ## 3. 依赖管理 ### 架构相关依赖处理 - Ubuntu:通过 `apt-get` 安装依赖 - Alpine:使用 `apk add` 安装跨平台工具链 ### 关键依赖工具 - `gcc`/`g++`:编译器 - `cmake`:跨平台构建系统 - `libuv-dev`:异步 I/O 库 - `libssl-dev`:SSL/TLS 库 - `hwloc-dev`:硬件定位库 ## 4. 构建流程优化 ### BuildKit 配置 - 启用 `DOCKER_BUILDKIT=1` - 禁用默认构建证明 `BUILDX_NO_DEFAULT_ATTESTATIONS=1` ### 构建缓存策略 - 多阶段构建减少最终镜像大小 - 分层缓存提高重复构建效率 ## 5. 最佳实践 ### 跨平台兼容性 - 使用 `init.sh` 统一项目配置 - 确保代码和构建脚本平台无关 - 避免硬编码平台相关的路径或命令