From fda11a659a0a491e5df5ca2e1671c866bb3b3d29 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 20 十月 2026 14:20:21 +0800
Subject: [PATCH] refactor(deploy): 更新部署脚本配置和SSH认证方式
---
deploy.bat | 87 +++++++++++++++++++++----------------------
1 files changed, 43 insertions(+), 44 deletions(-)
diff --git a/deploy.bat b/deploy.bat
index f07c556..243b917 100644
--- a/deploy.bat
+++ b/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 ============================================================
-set "SSHPASS=%PASSWORD%"
+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
\ No newline at end of file
--
Gitblit v1.9.3