mirror of
https://github.com/Tencent/WeKnora.git
synced 2025-11-25 03:15:00 +08:00
95 lines
1.7 KiB
Makefile
95 lines
1.7 KiB
Makefile
.PHONY: build run test clean docker-build docker-run migrate-up migrate-down docker-restart docker-stop start-all stop-all start-ollama stop-ollama
|
|
|
|
# Go related variables
|
|
BINARY_NAME=WeKnora
|
|
MAIN_PATH=./cmd/server
|
|
|
|
# Docker related variables
|
|
DOCKER_IMAGE=WeKnora
|
|
DOCKER_TAG=latest
|
|
|
|
# Build the application
|
|
build:
|
|
go build -o $(BINARY_NAME) $(MAIN_PATH)
|
|
|
|
# Run the application
|
|
run: build
|
|
./$(BINARY_NAME)
|
|
|
|
# Run tests
|
|
test:
|
|
go test -v ./...
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
go clean
|
|
rm -f $(BINARY_NAME)
|
|
|
|
# Build Docker image
|
|
docker-build:
|
|
docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) .
|
|
|
|
# Run Docker container (传统方式)
|
|
docker-run:
|
|
docker-compose up
|
|
|
|
# 使用新脚本启动所有服务
|
|
start-all:
|
|
./scripts/start_all.sh
|
|
|
|
# 使用新脚本仅启动Ollama服务
|
|
start-ollama:
|
|
./scripts/start_all.sh --ollama
|
|
|
|
# 使用新脚本仅启动Docker容器
|
|
start-docker:
|
|
./scripts/start_all.sh --docker
|
|
|
|
# 使用新脚本停止所有服务
|
|
stop-all:
|
|
./scripts/start_all.sh --stop
|
|
|
|
# Stop Docker container (传统方式)
|
|
docker-stop:
|
|
docker-compose down
|
|
|
|
# Restart Docker container (stop, rebuild, start)
|
|
docker-restart:
|
|
docker-compose stop -t 60
|
|
docker-compose up --build
|
|
|
|
# Database migrations
|
|
migrate-up:
|
|
./scripts/migrate.sh up
|
|
|
|
migrate-down:
|
|
./scripts/migrate.sh down
|
|
|
|
# Generate API documentation
|
|
docs:
|
|
swag init -g $(MAIN_PATH)/main.go -o ./docs
|
|
|
|
# Format code
|
|
fmt:
|
|
go fmt ./...
|
|
|
|
# Lint code
|
|
lint:
|
|
golangci-lint run
|
|
|
|
# Install dependencies
|
|
deps:
|
|
go mod download
|
|
|
|
# Build for production
|
|
build-prod:
|
|
GOOS=linux go build -a -installsuffix cgo -ldflags="-w -s" -o $(BINARY_NAME) $(MAIN_PATH)
|
|
|
|
clean-db:
|
|
@echo "Cleaning database..."
|
|
@if [ $$(docker volume ls -q -f name=weknora_postgres-data) ]; then \
|
|
docker volume rm weknora_postgres-data; \
|
|
fi
|
|
|
|
|