以下是在Ubuntu上打包Golang应用的实用技巧:
环境准备
apt安装Go:sudo apt update && sudo apt install golang。~/.bashrc中添加export PATH=$PATH:/usr/local/go/bin,并执行source ~/.bashrc。高效编译
go build -o app_name,生成可执行文件。CGO_ENABLED=0,生成不依赖C库的二进制文件,适合无Go环境的系统:CGO_ENABLED=0 go build -o app_name。GOOS和GOARCH生成其他平台可执行文件,例如:GOOS=linux GOARCH=amd64 go build -o app_name(在Ubuntu生成Linux 64位包)。优化打包体积
upx后,对二进制文件执行upx --best app_name,可减少约50%-70%体积。debian:buster-slim),降低镜像体积。依赖管理
go mod管理依赖,确保版本一致性:
go mod initgo mod tidy。部署与分发
start.sh脚本(如#!/bin/bash ./app_name),简化启动流程。dpkg-deb工具将应用打包为Ubuntu可安装的.deb包。注意事项
-installsuffix cgo避免冲突。参考来源: