zero-ppanel/Makefile
shanshanzhong 9dacd85a89
Some checks failed
Build docker and publish / prepare (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.admin image_name:ppanel-admin name:admin]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.api image_name:ppanel-api name:api]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.node image_name:ppanel-node name:node]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.queue image_name:ppanel-queue name:queue]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.scheduler image_name:ppanel-scheduler name:scheduler]) (push) Has been cancelled
Build docker and publish / deploy (push) Has been cancelled
Build docker and publish / notify (push) Has been cancelled
初始化
2026-02-26 04:12:43 -08:00

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

.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
cd apps/admin && goctl api go -api admin.api -dir . -style goZero
cd apps/node && goctl api go -api node.api -dir . -style goZero
# 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/