优化 Debian 下 Golang 打包流程
一 采用 dh-golang 的标准化流程
Source: my-go-app Section: utils Priority: optional Maintainer: Your Name <you@example.com> Build-Depends: debhelper-compat (= 13), dh-golang, golang-go | golang-any Standards-Version: 4.5.0 Homepage: https://github.com/yourorg/my-go-app Package: my-go-app Architecture: any Depends: ${misc:Depends} Description: Short description Long description. #!/usr/bin/make -f %: dh $@ --with golang debuild -us -uc # 或仅构建二进制包:dpkg-buildpackage -us -uc -b my-go-app /usr/bin/ config.toml /etc/my-go-app/ static/ /usr/share/my-go-app/static/ 二 提速与稳定性优化
三 多架构与 CGO 场景的可靠构建
docker buildx build --platform linux/amd64,linux/arm64 \ -t registry.example.com/ns/my-go-app:latest \ -o type=registry . apt-get update && apt-get install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross # 在构建环境中 CC=aarch64-linux-gnu-gcc CC_FOR_TARGET=aarch64-linux-gnu \ CGO_ENABLED=1 GOOS=linux GOARCH=arm64 go build -o myapp main.go 四 质量保障与发布流程