项目通过 Makefile 提供常用开发与运行命令。
本文档内容与仓库当前 Makefile 保持一致。
- Go
1.24.x gofmtgoimports(make fmt会调用)- Docker(使用 Docker 相关目标时)
安装 goimports:
go install golang.org/x/tools/cmd/goimports@latest| 目标 | 说明 |
|---|---|
make all |
依次执行 fmt、test、build |
make fmt |
执行 gofmt -w . 和 goimports -w . |
make test |
执行 go test -v ./... |
make build |
生成 ./bin/${APP_NAME} |
make run |
运行 ./bin/${APP_NAME} |
make clean |
删除构建产物 |
| 目标 | 说明 |
|---|---|
make docker-build |
构建 ${IMAGE_NAME} 镜像 |
make docker-run |
运行 ${APP_NAME} 容器 |
make docker-clean |
停止并删除 ${APP_NAME} 容器 |
| 变量 | 默认值 | 说明 |
|---|---|---|
APP_NAME |
dudu-admin-api |
二进制和容器名称 |
TZ |
Asia/Shanghai |
Docker 构建时区参数 |
IMAGE_NAME |
${APP_NAME}:latest |
Docker 镜像名 |
CONFIG_DIR |
${PWD}/bin/configs |
容器配置挂载目录 |
RUN_ENV |
local |
传入容器运行环境 |
基础流程:
make all
make runDocker 流程:
make docker-build
RUN_ENV=prod make docker-run
make docker-clean自定义名称:
APP_NAME=dudu-admin-api-dev make build
IMAGE_NAME=my-registry/dudu-admin-api:v1.0.0 make docker-buildgoimports: command not found:
go install golang.org/x/tools/cmd/goimports@latestmake run 找不到二进制:
make build
make runDocker 权限问题:
sudo make docker-build
sudo make docker-run