重构:统一 Python 部署脚本并修复编码问题
- 新增 deploy.py 统一部署脚本(调用各子目录 .py 脚本) - 保留 deploy.sh 统一部署脚本(调用各子目录 .sh 脚本) - 删除旧的 deploy-all.sh / deploy-domain.sh / deploy-to-prod.sh - 修复 Windows GBK 编码导致的 UnicodeDecodeError/UnicodeEncodeError - 修复 nginx 远程目录自动创建 - 移除 backend-single/deploy.py 和 web/deploy.py 中的 emoji 字符 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -6,11 +6,17 @@
|
||||
使用系统自带的ssh/scp命令,无需额外依赖
|
||||
"""
|
||||
|
||||
import io
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
# 强制 stdout/stderr 使用 UTF-8 编码,避免 Windows GBK 编码错误
|
||||
if hasattr(sys.stdout, 'buffer'):
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
|
||||
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8', errors='replace')
|
||||
|
||||
# 配置变量
|
||||
APP_NAME = "emotion-museum-single"
|
||||
JAR_NAME = "backend-single-1.0.0.jar"
|
||||
@@ -101,7 +107,7 @@ def build_project():
|
||||
sys.exit(1)
|
||||
|
||||
file_size = JAR_PATH.stat().st_size / (1024 * 1024)
|
||||
log_info(f"✅ 项目构建成功: {JAR_PATH}")
|
||||
log_info(f"[OK] 项目构建成功: {JAR_PATH}")
|
||||
log_info(f"文件大小: {file_size:.2f} MB")
|
||||
|
||||
|
||||
@@ -139,7 +145,7 @@ def deploy(upload_script=None):
|
||||
if not scp_upload(JAR_PATH, f"{REMOTE_DIR}/{REMOTE_JAR_NAME}"):
|
||||
log_error("上传JAR文件失败")
|
||||
sys.exit(1)
|
||||
log_info("✅ JAR文件上传成功")
|
||||
log_info("[OK] JAR文件上传成功")
|
||||
|
||||
# 验证远程文件
|
||||
log_info("验证远程文件...")
|
||||
@@ -157,7 +163,7 @@ def deploy(upload_script=None):
|
||||
if not scp_upload(script_path, f"{REMOTE_DIR}/{upload_script}"):
|
||||
log_error(f"上传文件失败: {upload_script}")
|
||||
sys.exit(1)
|
||||
log_info(f"✅ 文件上传成功: {upload_script}")
|
||||
log_info(f"[OK] 文件上传成功: {upload_script}")
|
||||
if upload_script.endswith('.sh'):
|
||||
exec_ssh_cmd(f"chmod +x {REMOTE_DIR}/{upload_script}")
|
||||
else:
|
||||
@@ -176,7 +182,7 @@ def deploy(upload_script=None):
|
||||
log_error("远程部署脚本执行失败")
|
||||
sys.exit(1)
|
||||
|
||||
log_info("✅ 部署完成!")
|
||||
log_info("[OK] 部署完成!")
|
||||
show_status()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user