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或自動化工具。