@echo off chcp 65001 >nul title Gitea CI/CD 服务管理 echo ============================================ echo Gitea + Runner 启动脚本 echo ============================================ echo. set GITEA_DIR=C:\Users\peterz\tools\gitea set RUNNER_DIR=C:\Users\peterz\tools\act_runner set GITEA_DATA=C:\Users\peterz\tools\gitea\data set GITEA_LOG=%GITEA_DATA%\gitea.log set RUNNER_LOG=%RUNNER_DIR%\runner.log :: ========================================== :: 启动 Gitea :: ========================================== echo [1/2] 启动 Gitea 服务... :: 检查是否已经在运行 tasklist /FI "IMAGENAME eq gitea.exe" 2>NUL | find /I "gitea.exe" >NUL if "%ERRORLEVEL%"=="0" ( echo Gitea 已在运行中,跳过启动。 ) else ( set GITEA_WORK_DIR=%GITEA_DATA% cd /d %GITEA_DIR% start "Gitea Server" /MIN cmd /c "set GITEA_WORK_DIR=%GITEA_DATA% && gitea.exe web --config %GITEA_DATA%\app.ini > %GITEA_LOG% 2>&1" echo Gitea 已启动 (后台窗口)。 ) :: ========================================== :: 启动 Runner :: ========================================== echo [2/2] 启动 Actions Runner... tasklist /FI "IMAGENAME eq act_runner.exe" 2>NUL | find /I "act_runner.exe" >NUL if "%ERRORLEVEL%"=="0" ( echo Runner 已在运行中,跳过启动。 ) else ( cd /d %RUNNER_DIR% start "Gitea Runner" /MIN cmd /c "act_runner.exe daemon > %RUNNER_LOG% 2>&1" echo Runner 已启动 (后台窗口)。 ) :: ========================================== :: 等待服务就绪 :: ========================================== echo. echo 等待 Gitea 就绪... :wait_loop timeout /t 2 >nul curl -s -o NUL http://localhost:3000 2>NUL if errorlevel 1 goto wait_loop echo. echo ============================================ echo 所有服务已就绪! echo Gitea: http://localhost:3000 echo 仓库: http://localhost:3000/pzhang_zywl/document_analyzer echo CI/CD: http://localhost:3000/pzhang_zywl/document_analyzer/actions echo 日志: %GITEA_DATA%\gitea.log echo %RUNNER_DIR%\runner.log echo ============================================ echo. :: 自动打开浏览器 start "" http://localhost:3000/pzhang_zywl/document_analyzer echo 按任意键关闭此窗口(服务仍会在后台运行)... pause >nul