以下是简化Ubuntu Golang打包过程的方法:
-
安装Go环境
sudo apt update && sudo apt install golang-go设置环境变量(~/.bashrc):
export GOROOT=/usr/lib/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin source ~/.bashrc -
使用自动化工具
- Makefile:在项目根目录创建
Makefile,定义构建规则,运行make即可自动编译。
示例:GO := go OUTPUT_NAME := myapp BUILD_TARGET := bin/$(OUTPUT_NAME) build: $(GO) build -o $(BUILD_TARGET) . - Shell脚本:创建
build.sh,通过chmod +x赋予执行权限,运行./build.sh build。
示例:#!/bin/bash GO=go OUTPUT_NAME=myapp $(GO) build -o bin/$OUTPUT_NAME .
- Makefile:在项目根目录创建
-
压缩二进制文件
安装upx并压缩可执行文件:sudo apt install upx upx --best bin/myapp -
多平台兼容(可选)
通过设置GOOS和GOARCH环境变量实现交叉编译,例如:GOOS=linux GOARCH=amd64 go build -o myapp # Linux平台 GOOS=windows GOARCH=amd64 go build -o myapp.exe # Windows平台 -
Docker打包(可选)
创建Dockerfile,基于官方Go镜像构建:FROM golang:latest WORKDIR /app COPY . . RUN go mod download && go build -o myapp . CMD ["./myapp"]构建并运行:
docker build -t myapp . docker run -d -p 8080:8080 myapp
通过以上步骤,可显著简化Ubuntu下Golang项目的打包流程,提升效率。