云
2026-10-20 fda11a659a0a491e5df5ca2e1671c866bb3b3d29
refactor(deploy): 更新部署脚本配置和SSH认证方式

- 将公司标识从TEST更改为KYZN
- 更新远程服务器地址为36.213.150.237
- 更改密码为Sh@1008600并更新远程目录路径
- 采用SSH_ASKPASS替代sshpass进行认证
- 动态选择SSH工具并适配命令执行方式
- 清理临时ASKPASS文件以增强安全性
- 优化部署流程中的SSH连接和文件传输命令
已修改1个文件
85 ■■■■■ 文件已修改
deploy.bat 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deploy.bat
@@ -9,16 +9,16 @@
REM Configuration
REM =========================
set "COMPANY=TEST"
set "COMPANY=KYZN"
set "REMOTE_USER=root"
set "REMOTE_HOST=36.213.90.123"
set "REMOTE_HOST=36.213.150.237"
set "REMOTE_PORT=65022"
set "PASSWORD=Xdrjkj@10086#"
set "PASSWORD=Sh@1008600"
set "ZIP_FILE=dist.zip"
set "REMOTE_DIR=/data/project/mom/vue/test/dist"
set "REMOTE_DIR=/data/vue/mom/kyzn/dist"
set "SSH_OPTS=-o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ServerAliveInterval=15 -o ServerAliveCountMax=3"
@@ -45,10 +45,12 @@
REM ============================================================
REM Check sshpass
REM Check SSH password tool
REM ============================================================
echo [1/7] Checking sshpass...
echo [1/7] Checking SSH password tool...
set "SSH_TOOL=askpass"
if exist "%SSHPASS_DIR%\sshpass.exe" (
    set "PATH=%SSHPASS_DIR%;%PATH%"
@@ -57,35 +59,13 @@
where sshpass >nul 2>&1
if not errorlevel 1 (
    set "SSH_TOOL=sshpass"
    echo [OK] sshpass found.
    goto CHECK_PNPM
)
echo [WARN] sshpass not found.
if not exist "%SSHPASS_DIR%" (
    mkdir "%SSHPASS_DIR%" >nul 2>&1
)
if exist "%SSHPASS_DIR%\sshpass.exe" (
    set "PATH=%SSHPASS_DIR%;%PATH%"
    echo [OK] sshpass found.
    goto CHECK_PNPM
)
echo [INFO] Downloading sshpass...
powershell -NoProfile -ExecutionPolicy Bypass -Command "$url='https://github.com/xhcoding/sshpass-win32/releases/download/v1.0.3/sshpass.exe'; $out='%SSHPASS_DIR%\sshpass.exe'; Invoke-WebRequest -Uri $url -OutFile $out"
if errorlevel 1 (
    echo [ERROR] Failed to download sshpass.
    echo [ERROR] Please install sshpass manually.
    goto ERROR_EXIT
)
set "PATH=%SSHPASS_DIR%;%PATH%"
echo [OK] sshpass installed.
echo [INFO] sshpass not found. Using built-in SSH_ASKPASS instead.
echo [INFO] No download required.
REM ============================================================
@@ -219,10 +199,25 @@
REM ============================================================
REM Set sshpass password
REM Set SSH authentication
REM ============================================================
if "%SSH_TOOL%"=="sshpass" (
set "SSHPASS=%PASSWORD%"
    set "SSH_CMD=sshpass -e ssh"
    set "SCP_CMD=sshpass -e scp"
    echo [INFO] Using sshpass for authentication.
) else (
    set "ASKPASS_FILE=%TEMP%\~deploy_askpass_%RANDOM%.cmd"
    > "!ASKPASS_FILE!" echo @echo off
    >> "!ASKPASS_FILE!" echo echo %PASSWORD%
    set "SSH_ASKPASS=!ASKPASS_FILE!"
    set "SSH_ASKPASS_REQUIRE=force"
    set "DISPLAY=:0"
    set "SSH_CMD=ssh"
    set "SCP_CMD=scp"
    echo [INFO] Using SSH_ASKPASS for authentication.
)
REM ============================================================
@@ -232,7 +227,7 @@
echo.
echo [6/7] Testing SSH connection...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "echo SSH_OK"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "echo SSH_OK"
if errorlevel 1 (
    echo [ERROR] SSH connection failed.
@@ -249,7 +244,7 @@
echo.
echo [INFO] Creating remote directory...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "mkdir -p '%REMOTE_DIR%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "mkdir -p '%REMOTE_DIR%'"
if errorlevel 1 (
    echo [ERROR] Failed to create remote directory.
@@ -268,9 +263,9 @@
set "REMOTE_TMP=%REMOTE_DIR%/.dist.zip.uploading"
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "rm -f '%REMOTE_TMP%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "rm -f '%REMOTE_TMP%'"
sshpass -e scp -P %REMOTE_PORT% %SSH_OPTS% "%ZIP_FILE%" %REMOTE_USER%@%REMOTE_HOST%:"%REMOTE_TMP%"
%SCP_CMD% -P %REMOTE_PORT% %SSH_OPTS% "%ZIP_FILE%" %REMOTE_USER%@%REMOTE_HOST%:"%REMOTE_TMP%"
if errorlevel 1 (
    echo [ERROR] Upload failed.
@@ -287,7 +282,7 @@
echo.
echo [INFO] Checking remote package...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "test -f '%REMOTE_TMP%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "test -f '%REMOTE_TMP%'"
if errorlevel 1 (
    echo [ERROR] Remote package does not exist.
@@ -304,7 +299,7 @@
echo.
echo [INFO] Checking package size...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "stat -c %%s '%REMOTE_TMP%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "stat -c %%s '%REMOTE_TMP%'"
echo.
@@ -315,7 +310,7 @@
echo [INFO] Activating package...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "mv -f '%REMOTE_TMP%' '%REMOTE_DIR%/%ZIP_FILE%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "mv -f '%REMOTE_TMP%' '%REMOTE_DIR%/%ZIP_FILE%'"
if errorlevel 1 (
    echo [ERROR] Failed to activate package.
@@ -332,7 +327,7 @@
echo.
echo [INFO] Checking unzip...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "command -v unzip"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "command -v unzip"
if errorlevel 1 (
    echo [ERROR] unzip is not installed on server.
@@ -355,7 +350,7 @@
echo.
echo [INFO] Testing remote ZIP...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "cd '%REMOTE_DIR%' && unzip -t '%ZIP_FILE%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "cd '%REMOTE_DIR%' && unzip -t '%ZIP_FILE%'"
if errorlevel 1 (
    echo.
@@ -374,7 +369,7 @@
echo.
echo [INFO] Extracting package...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "cd '%REMOTE_DIR%' && unzip -o '%ZIP_FILE%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "cd '%REMOTE_DIR%' && unzip -o '%ZIP_FILE%'"
if errorlevel 1 (
    echo.
@@ -394,7 +389,7 @@
echo.
echo [INFO] Removing remote ZIP...
sshpass -e ssh -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "rm -f '%REMOTE_DIR%/%ZIP_FILE%'"
%SSH_CMD% -p %REMOTE_PORT% %SSH_OPTS% %REMOTE_USER%@%REMOTE_HOST% "rm -f '%REMOTE_DIR%/%ZIP_FILE%'"
if errorlevel 1 (
    echo [WARN] Failed to remove remote ZIP.
@@ -447,5 +442,9 @@
:END
if defined ASKPASS_FILE (
    if exist "!ASKPASS_FILE!" del /f /q "!ASKPASS_FILE!" >nul 2>&1
)
pause
endlocal