2026-01-09 17:31:28 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
# Java 服务部署脚本
|
|
|
|
|
|
# 参数: $1=服务名称, $2=docker服务名, $3=docker-compose路径
|
2026-01-09 17:39:27 +08:00
|
|
|
|
# 注意:jar 文件已由 deployer.py 复制到 docker 目录
|
2026-01-09 17:31:28 +08:00
|
|
|
|
|
|
|
|
|
|
set -e # 遇到错误立即退出
|
|
|
|
|
|
|
|
|
|
|
|
SERVICE_NAME=$1
|
|
|
|
|
|
DOCKER_SERVICE=$2
|
|
|
|
|
|
DOCKER_COMPOSE_PATH=$3
|
|
|
|
|
|
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
echo "部署 Java 服务: $SERVICE_NAME"
|
|
|
|
|
|
echo "Docker 服务: $DOCKER_SERVICE"
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
|
|
|
|
|
|
# 检查参数
|
|
|
|
|
|
if [ -z "$SERVICE_NAME" ] || [ -z "$DOCKER_SERVICE" ]; then
|
|
|
|
|
|
echo "错误: 缺少必要参数"
|
|
|
|
|
|
echo "用法: $0 <服务名称> <docker服务名> <docker-compose路径>"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 获取脚本所在目录
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
|
|
|
|
|
|
|
|
echo "项目根目录: $PROJECT_ROOT"
|
|
|
|
|
|
|
|
|
|
|
|
# 进入 docker 目录
|
|
|
|
|
|
cd "$PROJECT_ROOT/docker"
|
|
|
|
|
|
|
2026-01-09 17:39:27 +08:00
|
|
|
|
echo "重新构建 Docker 镜像并启动服务..."
|
|
|
|
|
|
docker-compose build --no-cache "$DOCKER_SERVICE" && docker-compose up -d "$DOCKER_SERVICE"
|
2026-01-09 17:31:28 +08:00
|
|
|
|
|
|
|
|
|
|
echo "等待服务启动..."
|
|
|
|
|
|
sleep 5
|
|
|
|
|
|
|
|
|
|
|
|
echo "检查服务状态..."
|
|
|
|
|
|
docker-compose ps "$DOCKER_SERVICE"
|
|
|
|
|
|
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
echo "部署完成: $SERVICE_NAME"
|
|
|
|
|
|
echo "=========================================="
|