CentOS上提升Golang打包速度的可落地方案
一 基础与并行构建
#!/usr/bin/env bash
export GOMAXPROCS=$(nproc)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -p "$(nproc)" -ldflags "-s -w" -o myapp main.go
说明:并行度与缓存是“免费提速”的关键,优先确保这两项配置正确。二 依赖管理与下载加速
go env -w GOPROXY=https://goproxy.cn,direct
三 链接与二进制瘦身
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -ldflags "-s -w" -o myapp main.go
# 可选:upx --best myapp
说明:瘦身对“链接时长”和“产物传输/部署”都有正向收益,UPX属于可选优化。四 容器化与CI优化
FROM golang:1.23-alpine AS build
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -ldflags "-s -w" -o /bin/app ./cmd/app
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=build /bin/app /app
CMD ["/app"]
五 系统资源与环境调优