go.md 1.2 KB

Go 构建

如,项目需要在golang1.19环境下开发,可以使用以下方式:

docker run --rm -it -v /workspace:/app golang:1.19 /bin/bash
go build

此外,开发环境还有其他配置,如镜像加速,开发依赖,可以打包一个镜像替代golang:1.19:

# 构建镜像
docker build --pull --rm -f "Dockerfile-build"-t jianboy/go-build:1.20 .

# 别名 go 命令,执行 go 命令,启动开发容器,并传递参数进容器
alias go='docker run -it --rm -v /workspace/caddy:/workspaces jianboy/go-build:1.20'

# 构建项目
git clone https://github.com/caddyserver/caddy

docker run -it --rm -v /workspace/caddy:/workspaces jianboy/go-build:1.20
cd caddy/cmd/caddy/
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o caddy

git clone https://gitee.com/dromara/mayfly-go
docker run -it --rm -v /workspace/mayfly-go/server:/workspaces jianboy/go-build:1.21

go mod download
GO111MODULE=on CGO_ENABLED=0 GOOS=linux \
    go build -a \
    -o mayfly-go main.go

跨平台编译

Go 语言支持跨平台交叉编译,即在linux就可以编译linux,windows,Android,mac等多平台二进制文件。

Github Action 自动构建,发布,通知

自动构建

发布

通知