62 lines
1.6 KiB
Bash
Executable File
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} |