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
指定目標系統。