Files
document_analyzer/scripts/start_gitea.bat
2026-05-29 22:36:30 +08:00

72 lines
2.2 KiB
Batchfile

@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