feat: 完成后端全套自动化脚本、Makefile、README,支持一键启动与测试

This commit is contained in:
fish
2026-03-28 18:21:20 +08:00
parent 126e1f8466
commit 17d9522502
4 changed files with 212 additions and 1 deletions

58
backend/scripts/dev-start.sh Executable file
View File

@@ -0,0 +1,58 @@
#!/bin/bash
# 一键开发环境启动脚本
# 定义颜色
GREEN="\033[0;32m"
YELLOW="\033[1;33m"
RED="\033[0;31m"
NC="\033[0m" # No Color
echo -e "${GREEN}Starting development environment setup...${NC}"
# 检查 Docker 是否安装
if ! command -v docker &> /dev/null; then
echo -e "${RED}Docker is not installed! Please install Docker first.${NC}"
exit 1
fi
# 检查 Docker Compose 是否安装
if ! command -v docker-compose &> /dev/null; then
echo -e "${RED}Docker Compose is not installed! Please install Docker Compose first.${NC}"
exit 1
fi
# 生成 proto 代码
echo -e "${YELLOW}Generating proto code...${NC}"
if ./scripts/gen-proto.sh; then
echo -e "${GREEN}Proto code generated successfully!${NC}"
else
echo -e "${RED}Failed to generate proto code!${NC}"
exit 1
fi
# 构建开发环境
echo -e "${YELLOW}Building development environment...${NC}"
if docker-compose -f docker-compose.dev.yml build; then
echo -e "${GREEN}Build completed successfully!${NC}"
else
echo -e "${RED}Build failed!${NC}"
exit 1
fi
# 启动开发环境
echo -e "${YELLOW}Starting development environment...${NC}"
if docker-compose -f docker-compose.dev.yml up -d; then
echo -e "${GREEN}Development environment started successfully!${NC}"
else
echo -e "${RED}Failed to start development environment!${NC}"
exit 1
fi
# 显示服务状态
echo -e "${YELLOW}Service status:${NC}"
docker-compose -f docker-compose.dev.yml ps
echo -e "${GREEN}Development environment setup completed!${NC}"
echo -e "${YELLOW}To view logs, run: make dev-logs${NC}"
echo -e "${YELLOW}To stop the environment, run: make dev-down${NC}"

25
backend/scripts/gen-proto.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
# 生成 proto 代码的脚本
# 定义颜色
GREEN="\033[0;32m"
YELLOW="\033[1;33m"
RED="\033[0;31m"
NC="\033[0m" # No Color
echo -e "${GREEN}Starting proto compilation...${NC}"
# 使用 Docker 运行 protoc 编译
if docker run --rm -v "$(pwd):/app" -w /app golang:1.26.1-alpine3.23 sh -c "\
apk add --no-cache protobuf-dev && \
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest && \
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest && \
protoc --go_out=. --go-grpc_out=. services/user-svc/user.proto && \
protoc --go_out=. --go-grpc_out=. shared/proto/common.proto\
"; then
echo -e "${GREEN}Proto compilation completed successfully!${NC}"
else
echo -e "${RED}Proto compilation failed!${NC}"
exit 1
fi