配置更新

This commit is contained in:
2025-10-26 20:10:00 +08:00
parent accd1ae9da
commit 85e910fac9
41 changed files with 334 additions and 330 deletions
+20 -20
View File
@@ -8,7 +8,7 @@
set -e
# 配置变量
REMOTE_HOST="'root@47.111.10.27'"
REMOTE_HOST="'root@101.200.208.45'"
REMOTE_BUILD_DIR="/data/builds"
REMOTE_DOCKER_COMPOSE_DIR="/data/docker"
PROFILE="${DEPLOY_ENV:-test}"
@@ -65,10 +65,10 @@ FAILED_DEPLOYMENTS=0
# 检查远程服务器连接
check_remote_connection() {
log_info "检查远程服务器连接..."
if ssh -o ConnectTimeout=10 'root@47.111.10.27' "echo 'Connection successful'" > /dev/null 2>&1; then
if ssh -o ConnectTimeout=10 'root@101.200.208.45' "echo 'Connection successful'" > /dev/null 2>&1; then
log_success "远程服务器连接正常"
else
log_error "无法连接到远程服务器 'root@47.111.10.27'"
log_error "无法连接到远程服务器 'root@101.200.208.45'"
exit 1
fi
}
@@ -104,7 +104,7 @@ transfer_all_jars() {
log_info "开始传输所有jar包到远程服务器..."
# 创建远程目录
ssh 'root@47.111.10.27' "mkdir -p $REMOTE_BUILD_DIR"
ssh 'root@101.200.208.45' "mkdir -p $REMOTE_BUILD_DIR"
local transfer_success=0
local transfer_failed=0
@@ -121,12 +121,12 @@ transfer_all_jars() {
log_info "传输jar包: $service_name"
# 删除远程旧jar包
ssh 'root@47.111.10.27' "rm -f $REMOTE_BUILD_DIR/${service_name}-*.jar"
ssh 'root@101.200.208.45' "rm -f $REMOTE_BUILD_DIR/${service_name}-*.jar"
# 上传新jar包
if scp "$jar_file" 'root@47.111.10.27':$REMOTE_BUILD_DIR/${service_name}-1.0.0.jar; then
if scp "$jar_file" 'root@101.200.208.45':$REMOTE_BUILD_DIR/${service_name}-1.0.0.jar; then
# 验证远程jar包
remote_size=$(ssh 'root@47.111.10.27' "du -h $REMOTE_BUILD_DIR/${service_name}-1.0.0.jar | cut -f1")
remote_size=$(ssh 'root@101.200.208.45' "du -h $REMOTE_BUILD_DIR/${service_name}-1.0.0.jar | cut -f1")
log_success "$service_name 传输成功 (远程大小: $remote_size)"
transfer_success=$((transfer_success + 1))
else
@@ -149,7 +149,7 @@ transfer_all_jars() {
# 创建远程目录
create_remote_directories() {
log_info "创建远程目录结构..."
ssh 'root@47.111.10.27' "
ssh 'root@101.200.208.45' "
mkdir -p $REMOTE_BUILD_DIR
mkdir -p $REMOTE_DOCKER_COMPOSE_DIR
mkdir -p /data/logs/emotion-museum
@@ -161,7 +161,7 @@ create_remote_directories() {
# 创建Docker网络
create_docker_network() {
log_info "创建Docker网络..."
ssh 'root@47.111.10.27' "
ssh 'root@101.200.208.45' "
docker network create emotion-network 2>/dev/null || true
"
log_success "Docker网络创建完成"
@@ -176,7 +176,7 @@ deploy_service_to_remote() {
log_info "部署服务到远程: $service_name"
# 验证远程jar包存在
if ! ssh 'root@47.111.10.27' "test -f $REMOTE_BUILD_DIR/${service_name}-1.0.0.jar"; then
if ! ssh 'root@101.200.208.45' "test -f $REMOTE_BUILD_DIR/${service_name}-1.0.0.jar"; then
local error_msg="远程jar包不存在"
log_error "$error_msg"
return 1
@@ -187,7 +187,7 @@ deploy_service_to_remote() {
# 停止并删除旧容器
log_info "停止旧容器: $service_name"
ssh 'root@47.111.10.27' "
ssh 'root@101.200.208.45' "
docker stop ${service_name} 2>/dev/null || true
docker rm ${service_name} 2>/dev/null || true
docker rmi ${PROJECT_NAME}/${service_name}:latest 2>/dev/null || true
@@ -195,7 +195,7 @@ deploy_service_to_remote() {
# 构建Docker镜像
log_info "构建Docker镜像: $service_name"
ssh 'root@47.111.10.27' "
ssh 'root@101.200.208.45' "
# 复制jar包到Docker构建目录
cp $REMOTE_BUILD_DIR/${service_name}-1.0.0.jar $REMOTE_DOCKER_COMPOSE_DIR/
@@ -209,23 +209,23 @@ deploy_service_to_remote() {
# 启动新容器
log_info "启动新容器: $service_name"
ssh 'root@47.111.10.27' "
ssh 'root@101.200.208.45' "
docker run -d \\
--name ${service_name} \\
--network emotion-network \\
-p ${service_port}:${service_port} \\
-v /data/logs/emotion-museum:/app/logs \\
-e SPRING_PROFILES_ACTIVE=${PROFILE} \\
-e MYSQL_HOST=47.111.10.27 \\
-e MYSQL_HOST=101.200.208.45 \\
-e MYSQL_PORT=3306 \\
-e MYSQL_DATABASE=emotion_museum \\
-e MYSQL_USERNAME=root \\
-e MYSQL_PASSWORD='EmotionMuseum2025*#' \\
-e REDIS_HOST=47.111.10.27 \\
-e REDIS_HOST=101.200.208.45 \\
-e REDIS_PORT=6379 \\
-e REDIS_PASSWORD= \\
-e REDIS_DATABASE=0 \\
-e NACOS_SERVER_ADDR=47.111.10.27:8848 \\
-e NACOS_SERVER_ADDR=101.200.208.45:8848 \\
-e NACOS_USERNAME=nacos \\
-e NACOS_PASSWORD='Peanut2817*#' \\
--restart unless-stopped \\
@@ -237,12 +237,12 @@ deploy_service_to_remote() {
sleep 10
# 检查容器状态
if ssh 'root@47.111.10.27' "docker ps | grep ${service_name}" > /dev/null 2>&1; then
if ssh 'root@101.200.208.45' "docker ps | grep ${service_name}" > /dev/null 2>&1; then
log_success "服务 $service_name 启动成功"
# 显示容器日志
log_info "显示服务日志 最后10行: $service_name"
ssh 'root@47.111.10.27' "docker logs --tail 10 ${service_name}" 2>/dev/null || true
ssh 'root@101.200.208.45' "docker logs --tail 10 ${service_name}" 2>/dev/null || true
# 记录成功状态
local end_time=$(date +%s)
@@ -252,7 +252,7 @@ deploy_service_to_remote() {
else
local error_msg="服务启动失败"
log_error "服务 $service_name 启动失败"
local error_logs=$(ssh 'root@47.111.10.27' "docker logs ${service_name}" 2>&1 || echo "无法获取日志")
local error_logs=$(ssh 'root@101.200.208.45' "docker logs ${service_name}" 2>&1 || echo "无法获取日志")
echo "$error_logs"
# 记录失败状态
@@ -270,7 +270,7 @@ create_dockerfile() {
log_info "创建Dockerfile: $service_name"
ssh 'root@47.111.10.27' "cat > $REMOTE_DOCKER_COMPOSE_DIR/Dockerfile.${service_name} << 'EOF'
ssh 'root@101.200.208.45' "cat > $REMOTE_DOCKER_COMPOSE_DIR/Dockerfile.${service_name} << 'EOF'
# 使用Java 17 Alpine镜像
FROM openjdk:17-alpine