Golang项目在Ubuntu上的打包流程如下:
安装Go环境
sudo apt update && sudo apt install golang-go
验证安装:go version。
编写代码
在项目根目录创建main.go文件,例如:
package main
import "fmt"
func main() { fmt.Println("Hello, World!") }
```。
构建可执行文件
go build -o myapp
CGO_ENABLED=0 go build -o myapp
GOOS=linux GOARCH=amd64 go build -o myapp # 适配Linux
```。
压缩二进制文件(可选)
安装upx并压缩:
sudo apt install upx
upx --best myapp
```。
自动化打包(可选)
Makefile,内容示例:build:
go build -o myapp
运行:make build。build.sh,内容示例:#!/bin/bash
go build -o myapp
赋予执行权限:chmod +x build.sh,运行:./build.sh。Docker打包(可选)
创建Dockerfile:
FROM golang:latest
WORKDIR /app
COPY . .
RUN go build -o myapp
CMD ["./myapp"]
构建镜像:docker build -t myapp .,运行容器:docker run -d -p 8080:8080 myapp。
分发部署
使用tar打包文件:
tar -czvf myapp.tar.gz myapp
```。
说明:
CGO_ENABLED=0构建静态链接文件,避免依赖问题。GOOS和GOARCH指定目标系统。