Files
server/build.sh
2025-11-01 14:57:14 +08:00

62 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# 数字档案系统构建脚本
set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 项目信息
PROJECT_NAME="digital-archive"
JAR_NAME="point-strategy"
VERSION="latest"
echo -e "${GREEN}开始构建数字档案系统...${NC}"
# 检查Docker Compose是否安装
if ! docker compose version &> /dev/null && ! command -v docker-compose &> /dev/null; then
echo -e "${RED}错误: Docker Compose未安装${NC}"
exit 1
fi
# 检测Docker Compose命令类型
if docker compose version &> /dev/null; then
COMPOSE_CMD="docker compose"
else
COMPOSE_CMD="docker-compose"
fi
echo -e "${YELLOW}使用命令: ${COMPOSE_CMD}${NC}"
# 构建Docker镜像
echo -e "${YELLOW}构建Docker镜像...${NC}"
docker build -t ${PROJECT_NAME}:${VERSION} .
if [ $? -eq 0 ]; then
echo -e "${GREEN}Docker镜像构建成功: ${PROJECT_NAME}:${VERSION}${NC}"
else
echo -e "${RED}Docker镜像构建失败${NC}"
exit 1
fi
# 可选:运行测试
if [ "$1" = "--test" ]; then
echo -e "${YELLOW}运行测试...${NC}"
${COMPOSE_CMD} -f docker-compose.test.yml up --abort-on-container-exit --exit-code-from test
fi
# 可选:推送到镜像仓库
if [ "$1" = "--push" ]; then
echo -e "${YELLOW}推送到镜像仓库...${NC}"
docker tag ${PROJECT_NAME}:${VERSION} your-registry.com/${PROJECT_NAME}:${VERSION}
docker push your-registry.com/${PROJECT_NAME}:${VERSION}
fi
echo -e "${GREEN}构建完成!${NC}"
echo -e "${YELLOW}使用 ./deploy.sh <部署目录> 来部署服务${NC}"
# 显示镜像信息
echo -e "${YELLOW}镜像信息:${NC}"
docker images | grep ${PROJECT_NAME}