zero-ppanel/Makefile

84 lines
3.1 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.

.PHONY: build-all build-api build-admin build-node build-queue build-scheduler build-rpc-core \
gen-api gen-model docker-up docker-down docker-env-up docker-env-down lint clean \
run-api run-admin run-node run-queue run-scheduler run-rpc-core
# Environment: dev | test | prod (default: dev)
ENV ?= dev
# Build targets
build-all: build-api build-admin build-node build-queue build-scheduler build-rpc-core
build-api:
CGO_ENABLED=0 go build -trimpath -o bin/ppanel-api ./apps/api/ppanel.go
build-admin:
CGO_ENABLED=0 go build -trimpath -o bin/ppanel-admin ./apps/admin/ppaneladmin.go
build-node:
CGO_ENABLED=0 go build -trimpath -o bin/ppanel-node ./apps/node/ppanelnode.go
build-queue:
CGO_ENABLED=0 go build -trimpath -o bin/ppanel-queue ./apps/queue/queue.go
build-scheduler:
CGO_ENABLED=0 go build -trimpath -o bin/ppanel-scheduler ./apps/scheduler/scheduler.go
build-rpc-core:
CGO_ENABLED=0 go build -trimpath -o bin/ppanel-rpc-core ./apps/rpc/core/core.go
# Run with environment config
run-api:
go run apps/api/ppanel.go -f apps/api/etc/api-$(ENV).yaml
run-admin:
go run apps/admin/ppaneladmin.go -f apps/admin/etc/admin-$(ENV).yaml
run-node:
go run apps/node/ppanelnode.go -f apps/node/etc/node-$(ENV).yaml
run-queue:
go run apps/queue/queue.go -f apps/queue/etc/queue-$(ENV).yaml
run-scheduler:
go run apps/scheduler/scheduler.go -f apps/scheduler/etc/scheduler-$(ENV).yaml
run-rpc-core:
go run apps/rpc/core/core.go -f apps/rpc/core/etc/core-$(ENV).yaml
# Code generation
gen-api:
cd apps/api && goctl api go -api api.api -dir . -style goZero -home ../../goctl_tpl
cd apps/admin && goctl api go -api admin.api -dir . -style goZero -home ../../goctl_tpl
cd apps/node && goctl api go -api node.api -dir . -style goZero -home ../../goctl_tpl
# fix: admin routes.go 中 server 包名与参数名 server(*rest.Server) 冲突
# 1. 若 goctl 生成了 server import 但没加别名,加上别名
sed -i '' 's|"github.com/zero-ppanel/zero-ppanel/apps/admin/internal/handler/server"|serverhandler "github.com/zero-ppanel/zero-ppanel/apps/admin/internal/handler/server"|g' apps/admin/internal/handler/routes.go
# 2. 若 goctl 漏掉了 server import补进去
grep -q 'handler/server' apps/admin/internal/handler/routes.go || sed -i '' 's|"github.com/zero-ppanel/zero-ppanel/apps/admin/internal/svc"|serverhandler "github.com/zero-ppanel/zero-ppanel/apps/admin/internal/handler/server"\n\t"github.com/zero-ppanel/zero-ppanel/apps/admin/internal/svc"|' apps/admin/internal/handler/routes.go
# 3. 替换调用处
sed -i '' 's/Handler: server\./Handler: serverhandler./g' apps/admin/internal/handler/routes.go
gen-model:
@echo "Usage: make gen-model TABLE=user DIR=apps/api/internal/model/user"
goctl model mysql ddl -src sql/001_init.up.sql -dir $(DIR) -table $(TABLE) -c
# Docker
docker-up:
cd deploy && docker-compose up -d
docker-down:
cd deploy && docker-compose down
docker-env-up:
cd deploy && docker-compose -f docker-compose-env.yml up -d
docker-env-down:
cd deploy && docker-compose -f docker-compose-env.yml down
# Quality
lint:
golangci-lint run ./...
clean:
rm -rf bin/