优化 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
四 质量保障与发布流程