Files
HAOVP/backend/build-and-deploy.sh
T

66 lines
2.0 KiB
Bash

#!/bin/bash
echo "开始构建和部署视频平台项目..."
echo "1. 安装common模块到本地Maven仓库..."
cd video-common
# 使用-Dspring-boot.repackage.skip=true跳过Spring Boot的repackage阶段
mvn clean install -DskipTests -Dspring-boot.repackage.skip=true
cd ..
echo "2. 构建其他模块..."
mvn clean package -DskipTests -pl '!video-common'
echo "3. 构建Sentinel Dashboard镜像..."
# 检查sentinel-dashboard目录是否存在
if [ -d "sentinel-dashboard" ]; then
cd sentinel-dashboard
docker build -t sentinel-dashboard:1.8.6 .
cd ..
else
echo "警告: sentinel-dashboard目录不存在,跳过镜像构建"
# 创建简单的Dockerfile用于构建Sentinel镜像
mkdir -p sentinel-dashboard
cat > sentinel-dashboard/Dockerfile << 'EOF'
FROM eclipse-temurin:8-jre
# 下载 Sentinel 1.8.6 官方 JAR
RUN apt-get update && \
apt-get install -y wget && \
wget -O /sentinel-dashboard.jar \
https://github.com/alibaba/Sentinel/releases/download/1.8.6/sentinel-dashboard-1.8.6.jar && \
apt-get remove -y wget && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
EXPOSE 8080
CMD ["java", "-Dserver.port=8080", "-Dcsp.sentinel.dashboard.server=localhost:8080", "-jar", "/sentinel-dashboard.jar"]
EOF
cd sentinel-dashboard
docker build -t sentinel-dashboard:1.8.6 .
cd ..
fi
echo "4. 获取本机IP地址..."
HOST_IP=$(hostname -I | awk '{print $1}')
echo "使用IP地址: $HOST_IP"
echo "5. 启动Docker Compose..."
export HOST_IP=$HOST_IP
# 检查docker-compose是否可用
if command -v docker-compose &> /dev/null; then
HOST_IP=$HOST_IP docker-compose up -d
else
echo "警告: docker-compose命令不可用,尝试使用docker compose命令"
HOST_IP=$HOST_IP docker compose up -d
fi
echo "部署完成!"
echo "服务访问地址:"
echo "- 网关: http://${HOST_IP}:9000"
echo "- Nacos: http://${HOST_IP}:8848/nacos"
echo "- Sentinel: http://${HOST_IP}:8880"
echo "- MinIO: http://${HOST_IP}:9001"