
Features: - Complete project management system with Epic/Story/Task hierarchy - Vue.js 3 + Element Plus frontend with kanban board - Go backend with Gin framework and GORM - OAuth2 integration with Gitea - Docker containerization with MySQL - RESTful API for project, task, and user management - JWT authentication and authorization - Responsive web interface with dashboard
78 lines
1.6 KiB
Makefile
78 lines
1.6 KiB
Makefile
.PHONY: build run dev test clean install docker
|
|
|
|
# 项目信息
|
|
PROJECT_NAME := giteapm
|
|
BINARY_NAME := giteapm
|
|
VERSION := $(shell git describe --tags --always --dirty)
|
|
BUILD_TIME := $(shell date +%Y-%m-%d\ %H:%M:%S)
|
|
GO_VERSION := $(shell go version | cut -d ' ' -f 3)
|
|
|
|
# 构建参数
|
|
LDFLAGS := -X 'main.Version=$(VERSION)' \
|
|
-X 'main.BuildTime=$(BUILD_TIME)' \
|
|
-X 'main.GoVersion=$(GO_VERSION)'
|
|
|
|
# 默认目标
|
|
all: build
|
|
|
|
# 安装依赖
|
|
install:
|
|
go mod download
|
|
go mod tidy
|
|
|
|
# 构建
|
|
build:
|
|
go build -ldflags "$(LDFLAGS)" -o bin/$(BINARY_NAME) cmd/main.go
|
|
|
|
# 运行
|
|
run: build
|
|
./bin/$(BINARY_NAME) -config config/config.yaml
|
|
|
|
# 开发模式运行
|
|
dev:
|
|
go run cmd/main.go -config config/config.yaml
|
|
|
|
# 运行测试
|
|
test:
|
|
go test -v ./...
|
|
|
|
# 代码检查
|
|
lint:
|
|
golangci-lint run
|
|
|
|
# 清理
|
|
clean:
|
|
rm -rf bin/
|
|
go clean
|
|
|
|
# 数据库迁移
|
|
migrate-up:
|
|
mysql -u root -p < schema.sql
|
|
|
|
# Docker 构建
|
|
docker-build:
|
|
docker build -t $(PROJECT_NAME):$(VERSION) .
|
|
docker tag $(PROJECT_NAME):$(VERSION) $(PROJECT_NAME):latest
|
|
|
|
# Docker 运行
|
|
docker-run:
|
|
docker-compose up -d
|
|
|
|
# Docker 停止
|
|
docker-stop:
|
|
docker-compose down
|
|
|
|
# 帮助
|
|
help:
|
|
@echo "可用命令:"
|
|
@echo " install - 安装依赖"
|
|
@echo " build - 构建应用"
|
|
@echo " run - 运行应用"
|
|
@echo " dev - 开发模式运行"
|
|
@echo " test - 运行测试"
|
|
@echo " lint - 代码检查"
|
|
@echo " clean - 清理构建文件"
|
|
@echo " migrate-up - 数据库迁移"
|
|
@echo " docker-build - Docker 构建"
|
|
@echo " docker-run - Docker 运行"
|
|
@echo " docker-stop - Docker 停止"
|