fix: 调整服务部署脚本
- 启动脚本路径改为 bin 目录 - 只更新服务jar和fund-common*.jar,不再全量覆盖lib目录
This commit is contained in:
parent
1e346c3a2e
commit
fe51e87c17
@ -60,17 +60,19 @@ if [ "$DIR_EXISTS" != "yes" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 2. 备份旧版本lib目录
|
# 2. 备份旧版本jar文件
|
||||||
log_info "备份旧版本lib目录..."
|
log_info "备份旧版本jar文件..."
|
||||||
remote_exec "cd '$SERVICE_DEPLOY_PATH' && \
|
remote_exec "cd '$SERVICE_DEPLOY_PATH/lib' && \
|
||||||
mkdir -p backup && \
|
mkdir -p ../backup && \
|
||||||
BACKUP_NAME='lib_backup_\$(date +%Y%m%d_%H%M%S)' && \
|
BACKUP_NAME='jar_backup_\$(date +%Y%m%d_%H%M%S)' && \
|
||||||
if [ -d 'lib' ]; then \
|
mkdir -p ../backup/\$BACKUP_NAME && \
|
||||||
cp -r lib backup/\$BACKUP_NAME; \
|
if [ -f '${SERVICE_NAME}*.jar' ]; then \
|
||||||
echo '备份完成: '\$BACKUP_NAME; \
|
cp ${SERVICE_NAME}*.jar ../backup/\$BACKUP_NAME/ 2>/dev/null; \
|
||||||
else \
|
fi && \
|
||||||
echo 'lib目录不存在,跳过备份'; \
|
if ls fund-common*.jar 1>/dev/null 2>&1; then \
|
||||||
fi"
|
cp fund-common*.jar ../backup/\$BACKUP_NAME/ 2>/dev/null; \
|
||||||
|
fi && \
|
||||||
|
echo '备份完成: '\$BACKUP_NAME"
|
||||||
|
|
||||||
# 3. 上传tar.gz文件
|
# 3. 上传tar.gz文件
|
||||||
log_info "上传tar.gz文件..."
|
log_info "上传tar.gz文件..."
|
||||||
@ -78,8 +80,8 @@ TEMP_REMOTE_PATH="/tmp/${SERVICE_NAME}-$$.tar.gz"
|
|||||||
upload_file "$LOCAL_TAR" "$TEMP_REMOTE_PATH"
|
upload_file "$LOCAL_TAR" "$TEMP_REMOTE_PATH"
|
||||||
log_info "上传完成"
|
log_info "上传完成"
|
||||||
|
|
||||||
# 4. 解压并更新lib目录
|
# 4. 解压并更新jar文件
|
||||||
log_info "解压并更新lib目录..."
|
log_info "解压并更新jar文件..."
|
||||||
remote_exec "
|
remote_exec "
|
||||||
TEMP_DIR=\"/tmp/${SERVICE_NAME}_extract_\$\$\"
|
TEMP_DIR=\"/tmp/${SERVICE_NAME}_extract_\$\$\"
|
||||||
mkdir -p \$TEMP_DIR
|
mkdir -p \$TEMP_DIR
|
||||||
@ -90,24 +92,40 @@ remote_exec "
|
|||||||
EXTRACTED_DIR=\$(ls -d */ 2>/dev/null | head -1 | tr -d '/')
|
EXTRACTED_DIR=\$(ls -d */ 2>/dev/null | head -1 | tr -d '/')
|
||||||
|
|
||||||
if [ -n \"\$EXTRACTED_DIR\" ] && [ -d \"\$EXTRACTED_DIR/lib\" ]; then
|
if [ -n \"\$EXTRACTED_DIR\" ] && [ -d \"\$EXTRACTED_DIR/lib\" ]; then
|
||||||
# 停止服务(如果存在启动脚本)
|
# 停止服务(使用bin目录下的脚本)
|
||||||
if [ -f '$SERVICE_DEPLOY_PATH/stop.sh' ]; then
|
if [ -f '$SERVICE_DEPLOY_PATH/bin/stop.sh' ]; then
|
||||||
cd '$SERVICE_DEPLOY_PATH' && ./stop.sh
|
cd '$SERVICE_DEPLOY_PATH/bin' && ./stop.sh
|
||||||
sleep 2
|
sleep 2
|
||||||
|
echo '服务已停止'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 删除旧lib目录
|
# 只更新当前服务的jar和fund-common*.jar
|
||||||
rm -rf '$SERVICE_DEPLOY_PATH/lib'
|
echo '更新jar文件...'
|
||||||
|
|
||||||
# 复制新lib目录
|
# 删除旧的fund-common*.jar
|
||||||
cp -r \"\$EXTRACTED_DIR/lib\" '$SERVICE_DEPLOY_PATH/'
|
rm -f '$SERVICE_DEPLOY_PATH/lib/fund-common'*.jar 2>/dev/null
|
||||||
|
|
||||||
echo 'lib目录更新完成'
|
# 复制新的fund-common*.jar
|
||||||
|
if ls \$EXTRACTED_DIR/lib/fund-common*.jar 1>/dev/null 2>&1; then
|
||||||
|
cp \$EXTRACTED_DIR/lib/fund-common*.jar '$SERVICE_DEPLOY_PATH/lib/'
|
||||||
|
echo 'fund-common jar 已更新'
|
||||||
|
fi
|
||||||
|
|
||||||
# 启动服务(如果存在启动脚本)
|
# 删除旧的服务jar
|
||||||
if [ -f '$SERVICE_DEPLOY_PATH/start.sh' ]; then
|
rm -f '$SERVICE_DEPLOY_PATH/lib/${SERVICE_NAME}'*.jar 2>/dev/null
|
||||||
cd '$SERVICE_DEPLOY_PATH' && ./start.sh
|
|
||||||
echo '服务已重启'
|
# 复制新的服务jar
|
||||||
|
if ls \$EXTRACTED_DIR/lib/${SERVICE_NAME}*.jar 1>/dev/null 2>&1; then
|
||||||
|
cp \$EXTRACTED_DIR/lib/${SERVICE_NAME}*.jar '$SERVICE_DEPLOY_PATH/lib/'
|
||||||
|
echo '${SERVICE_NAME} jar 已更新'
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 'jar文件更新完成'
|
||||||
|
|
||||||
|
# 启动服务(使用bin目录下的脚本)
|
||||||
|
if [ -f '$SERVICE_DEPLOY_PATH/bin/start.sh' ]; then
|
||||||
|
cd '$SERVICE_DEPLOY_PATH/bin' && ./start.sh
|
||||||
|
echo '服务已启动'
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo '错误: 解压后未找到lib目录'
|
echo '错误: 解压后未找到lib目录'
|
||||||
@ -122,8 +140,9 @@ log_info "解压完成"
|
|||||||
|
|
||||||
# 5. 验证部署
|
# 5. 验证部署
|
||||||
log_info "验证部署..."
|
log_info "验证部署..."
|
||||||
JAR_COUNT=$(remote_exec "ls '$SERVICE_DEPLOY_PATH/lib/*.jar' 2>/dev/null | wc -l")
|
SERVICE_JAR_COUNT=$(remote_exec "ls '$SERVICE_DEPLOY_PATH/lib/${SERVICE_NAME}*.jar' 2>/dev/null | wc -l")
|
||||||
log_info "lib目录jar文件数: $JAR_COUNT"
|
COMMON_JAR_COUNT=$(remote_exec "ls '$SERVICE_DEPLOY_PATH/lib/fund-common*.jar' 2>/dev/null | wc -l")
|
||||||
|
log_info "服务jar数: $SERVICE_JAR_COUNT, fund-common jar数: $COMMON_JAR_COUNT"
|
||||||
|
|
||||||
log_info "============================================"
|
log_info "============================================"
|
||||||
log_info "服务部署完成: $SERVICE_NAME"
|
log_info "服务部署完成: $SERVICE_NAME"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user