Golang在Ubuntu的打包流程可按需选择以下步骤,核心流程及关键操作如下:
安装Go环境
通过系统包管理器安装Go:
sudo apt update && sudo apt install golang-go
验证安装:go version
。
配置环境变量(可选)
在~/.bashrc
中添加:
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
生效配置:source ~/.bashrc
。
main.go
入口文件,使用go mod
管理依赖:go mod init <module-name> # 初始化模块
go mod tidy # 自动同步依赖
```。
go build -o <output-name> # 如 go build -o myapp
```。
GOOS=linux GOARCH=amd64 go build -o myapp # 编译为Linux 64位可执行文件
```。
CGO_ENABLED=0 go build -o myapp # 禁用CGO
```。
upx
减小体积sudo apt install upx
upx --best myapp
```。
tar -czvf myapp.tar.gz myapp
```。
# 构建阶段
FROM golang:latest as builder
WORKDIR /app
COPY . .
RUN CGO_ENABLED=0 go build -o /app/myapp
# 运行阶段(最小化镜像)
FROM scratch
COPY --from=builder /app/myapp /
CMD ["/myapp"]
构建命令:docker build -t myapp .
。build:
GOOS=linux GOARCH=amd64 go build -o bin/myapp
执行:make build
。go mod
锁定依赖版本,避免环境差异导致问题。chmod +x myapp
。根据实际需求选择流程,基础场景可直接使用go build
,复杂部署推荐结合Docker或自动化工具。