阅读量:2
以下是简化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项目的打包流程,提升效率。
以上就是关于“如何简化Ubuntu Golang打包过程”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm