以下是简化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,定义构建规则,运行make即可自动编译。GO := go
OUTPUT_NAME := myapp
BUILD_TARGET := bin/$(OUTPUT_NAME)
build:
$(GO) build -o $(BUILD_TARGET) .
build.sh,通过chmod +x赋予执行权限,运行./build.sh build。#!/bin/bash
GO=go
OUTPUT_NAME=myapp
$(GO) build -o bin/$OUTPUT_NAME .
压缩二进制文件
安装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项目的打包流程,提升效率。