优化小程序部分
This commit is contained in:
1 parent
727319a6eb
commit
d4e89788c5
46 files changed
+4906
-63
No files matched your search
@@ -0,0 +1,128 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
setlocal EnableExtensions
|
||||
title Update Server - Go API incremental deploy
|
||||
|
||||
rem ==================================================================
|
||||
rem Sync only CHANGED files from this go\ folder to the server.
|
||||
rem (Batch file is ASCII-only on purpose: cmd.exe mis-parses UTF-8
|
||||
rem Chinese text in .bat files. The deploy tool itself prints Chinese.)
|
||||
rem
|
||||
rem Usage:
|
||||
rem update-server.bat diff -> confirm -> upload -> ask to restart
|
||||
rem update-server.bat dry diff only, upload nothing
|
||||
rem update-server.bat restart only restart the service on the server
|
||||
rem ==================================================================
|
||||
|
||||
rem ============================ CONFIG ============================
|
||||
set "DEPLOY_HOST=10.31.100.2"
|
||||
set "DEPLOY_USER=root"
|
||||
set "DEPLOY_DIR=/www/wwwroot/api.yunzer.cn"
|
||||
|
||||
rem Key auth (this server has password auth disabled in sshd)
|
||||
set "DEPLOY_KEY=%~dp010.31.100.2_id_ed25519"
|
||||
|
||||
rem Fallback: if password auth is enabled later, blank DEPLOY_KEY and set the password here
|
||||
rem set "DEPLOY_KEY="
|
||||
set "DEPLOY_PASS=xxxxxx"
|
||||
|
||||
rem Restart command (systemd unit: go-api.service)
|
||||
set "RESTART_CMD=systemctl restart go-api.service"
|
||||
|
||||
rem Extra exclude patterns, comma separated, * wildcard supported
|
||||
set "EXTRA_EXCLUDE="
|
||||
rem ================================================================
|
||||
|
||||
cd /d "%~dp0"
|
||||
set "DEPLOY_EXE=%~dp0bin\deploy.exe"
|
||||
set "ACTION=%~1"
|
||||
if "%ACTION%"=="" set "ACTION=deploy"
|
||||
|
||||
rem %~dp0 ends with a backslash; a trailing backslash before the closing quote
|
||||
rem escapes it and swallows the following arguments - strip it.
|
||||
set "LOCAL_DIR=%~dp0"
|
||||
set "LOCAL_DIR=%LOCAL_DIR:~0,-1%"
|
||||
|
||||
echo ==================================================================
|
||||
echo Server : %DEPLOY_USER%@%DEPLOY_HOST%:%DEPLOY_DIR%
|
||||
echo Local : %LOCAL_DIR%
|
||||
echo Action : %ACTION%
|
||||
echo ==================================================================
|
||||
echo.
|
||||
|
||||
rem ---------------- 1/3 build the deploy tool ----------------
|
||||
where go >nul 2>nul
|
||||
if not errorlevel 1 (
|
||||
echo [1/3] Building deploy tool...
|
||||
go build -o "bin\deploy.exe" ./cmd/deploy
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] Failed to build the deploy tool
|
||||
goto :fail
|
||||
)
|
||||
) else (
|
||||
if not exist "%DEPLOY_EXE%" (
|
||||
echo [ERROR] go command not found and bin\deploy.exe is missing
|
||||
goto :fail
|
||||
)
|
||||
echo [1/3] go not found, using existing bin\deploy.exe
|
||||
)
|
||||
|
||||
rem ---------------- auth args ----------------
|
||||
if defined DEPLOY_KEY (
|
||||
if not exist "%DEPLOY_KEY%" (
|
||||
echo [ERROR] Private key not found: %DEPLOY_KEY%
|
||||
echo Blank DEPLOY_KEY in the config block to use password auth
|
||||
goto :fail
|
||||
)
|
||||
set "AUTH_ARGS=-key "%DEPLOY_KEY%""
|
||||
) else (
|
||||
set "AUTH_ARGS=-pass %DEPLOY_PASS%"
|
||||
)
|
||||
|
||||
rem ---------------- 2/3 run ----------------
|
||||
if /i "%ACTION%"=="restart" goto :do_restart
|
||||
|
||||
set "EXTRA_ARGS="
|
||||
if /i "%ACTION%"=="dry" set "EXTRA_ARGS=-dry-run"
|
||||
|
||||
echo [2/3] Comparing files...
|
||||
echo.
|
||||
"%DEPLOY_EXE%" -host "%DEPLOY_HOST%" -user "%DEPLOY_USER%" -dir "%DEPLOY_DIR%" -local "%LOCAL_DIR%" %AUTH_ARGS% %EXTRA_ARGS% %EXTRA_EXCLUDE%
|
||||
if errorlevel 3 goto :cancelled
|
||||
if errorlevel 1 goto :fail
|
||||
|
||||
if /i "%ACTION%"=="dry" goto :done
|
||||
|
||||
rem ---------------- 3/3 restart ----------------
|
||||
echo.
|
||||
set "ANSWER="
|
||||
set /p "ANSWER=Restart the service so the changes take effect? (Y/N) [Y]: "
|
||||
if not defined ANSWER set "ANSWER=Y"
|
||||
if /i not "%ANSWER%"=="Y" (
|
||||
echo Skipped. Run "update-server.bat restart" or restart it manually later.
|
||||
goto :done
|
||||
)
|
||||
|
||||
:do_restart
|
||||
echo.
|
||||
echo [3/3] Restarting: %RESTART_CMD%
|
||||
"%DEPLOY_EXE%" -host "%DEPLOY_HOST%" -user "%DEPLOY_USER%" %AUTH_ARGS% -exec "%RESTART_CMD%"
|
||||
if errorlevel 1 goto :fail
|
||||
|
||||
:done
|
||||
echo.
|
||||
echo [DONE]
|
||||
if not defined DEPLOY_NOPAUSE pause
|
||||
exit /b 0
|
||||
|
||||
:cancelled
|
||||
echo.
|
||||
echo [CANCELLED] Nothing was uploaded, service was NOT restarted.
|
||||
if not defined DEPLOY_NOPAUSE pause
|
||||
exit /b 0
|
||||
|
||||
:fail
|
||||
echo.
|
||||
echo [FAILED] See the message above
|
||||
if not defined DEPLOY_NOPAUSE pause
|
||||
exit /b 1
|
||||
Reference in new issue
Block a user