server/Makefile
shanshanzhong a73a3f2313 feat: 添加docker-compose配置和用户管理逻辑更新
fix(ci): 移除敏感信息并更新SSH认证方式

refactor: 清理无用文件和更新Makefile配置

docs: 添加项目配置文件和更新环境变量说明
2025-07-22 08:53:30 -07:00

101 lines
4.0 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Custom configuration | 独立配置
# Service name | 项目名称
SERVICE=Mininppp
# Service name in specific style | 项目经过style格式化的名称
SERVICE_STYLEminia=mpp
# Service name in lowercase | 项目名称全小写格式
SERVICE_LOWEminiaR=app
# Service name in snake format | 项目名称下划线格式
SERVICE_SNAminiaKEiapp
# Service name in snake format | 项目名称短杠格式
SERVICE_DminiaASniapp
# The project version, if you don't use git, you should set it manually | 项目版本如果不使用git请手动设置
VERSION=$(shell git describe --tags --always)
# The project file name style | 项目文件命名风格
PROJECT_STYLE=go_zero
# Whether to use i18n | 是否启用 i18n
PROJECT_I18N=true
# The suffix after build or compile | 构建后缀
PROJECT_BUILD_SUapiFFIX=api
# Swagger type, support yml,json | Swagger 文件类型支持yml,json
SWAGGER_TYP
E=json
# The arch of the build | 构建的架构
GOARCH=amd64
# The repository of docker | Docker 仓库地址
DOCKER_REPO=docker.i.on ticcheck
.PHONY: tools
tools: # Install the necessary tools | 安装必要的工具
$(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@latest;
$(GO) install github.com/go-swagger/go-swagger/cmd/swagger@latest
.PHONY: docker
docker: # Build the docker image | 构建 docker 镜像
docker build -f Dockerfile -t ${API_IMAGE_NAME}:${VERSION} .
@echo "Build docker successfully"
.PHONY: publish-docker
publish-docker: # Publish docker image | 发布 docker 镜像
echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin ${REPO}
docker tag ${API_IMAGE_NAME}:${VERSION} ${API_IMAGE_NAME}:latest
docker push ${API_IMAGE_NAME}:latest
@echo "Publish docker successfully"
.PHONY: docker-run
docker-run: # Publish docker image | 发布 docker 镜像
docker rm -f ${API_CONTAINER_NAME}
docker compose -p ${DOCKER_PROJECT_NAME} -f ${DOCKER_COMPOSE_FILE} up -d
@echo "docker run successfully"
.PHONY: swagger-docker
swagger-docker: # Run the swagger Docker | 运行接口文档服务
@echo "run swagger-ui container..."
docker rm -f ${PROJECT_NAME}-${SERVICE_NAME}-apidoc
docker compose -p ${DOC_DOCKER_PROJECT_NAME} -f ${APIDOC_DOCKER_COMPOSE_FILE} up -d
@echo "run swagger-ui container successfully"
.PHONY: gen-swagger
gen-swagger: # Generate swagger file | 生成 swagger 文件
swagger generate spec --output=./$(SERVICE_STYLE).$(SWAGGER_TYPE) --scan-models
@echo "Generate swagger successfully"
.PHONY: serve-swagger
serve-swagger: # Run the swagger server | 运行 swagger 服务
lsof -i:36666 | awk 'NR!=1 {print $2}' | xargs killall -9 || true
swagger serve -F=swagger --port 36666 $(SERVICE_STYLE).$(SWAGGER_TYPE)
@echo "Serve swagger-ui successfully"
.PHONY: gen-api
gen-api: # Generate API files | 生成 API 的代码
goctls api go --api ./desc/all.api --dir ./ --trans_err=true --style=$(PROJECT_STYLE)
swagger generate spec --output=./$(SERVICE_STYLE).$(SWAGGER_TYPE) --scan-models
@echo "Generate API codes successfully"
.PHONY: build-win
build-win: # Build project for Windows | 构建Windows下的可执行文件
env CGO_ENABLED=0 GOOS=windows GOARCH=$(GOARCH) go build -ldflags "$(LDFLAGS)" -trimpath -o $(SERVICE_STYLE)_$(PROJECT_BUILD_SUFFIX).exe $(SERVICE_STYLE).go
@echo "Build project for Windows successfully"
.PHONY: build-mac
build-mac: # Build project for MacOS | 构建MacOS下的可执行文件
env CGO_ENABLED=0 GOOS=darwin GOARCH=$(GOARCH) go build -ldflags "$(LDFLAGS)" -trimpath -o $(SERVICE_STYLE)_$(PROJECT_BUILD_SUFFIX) $(SERVICE_STYLE).go
@echo "Build project for MacOS successfully"
.PHONY: build#oject for Linux | 构建Linx下的可执行文件
env CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go build -ldflags "$(LDFLAGS)" -trimpath -o $(SERVICE_STYLE)_$(PROJECT_BUILD_SUFFIX) $(SERVICE_STYLE).go
@echo "Build project for Linux successfully"
.PHONY: help
help: # Show help | 显示帮助
@grep kfile | sort | while read-r l; do printf "\033[1;32m$$(echo $$l | cut -f 1 -d':')\033[00m:$$(echo $$l | cut -f 2- -d'#')\n"; done