65 lines
2.0 KiB
Batchfile
65 lines
2.0 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul
|
|
echo === CloudNest 本地开发启动 ===
|
|
|
|
:: 设置默认环境 / Set default environment
|
|
if "%CLOUDNEST_ENV%"=="" set CLOUDNEST_ENV=dev
|
|
|
|
echo 环境 / Environment: %CLOUDNEST_ENV%
|
|
|
|
where go >nul 2>nul
|
|
if %errorlevel% neq 0 (
|
|
echo [错误] 未找到 Go。请先安装 Go 1.25+: https://go.dev/dl/
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
:: 检查是否跳过基础设施 / Check if skip infrastructure
|
|
if /i "%SKIP_INFRA%"=="true" (
|
|
echo [信息] SKIP_INFRA=true,跳过基础设施启动
|
|
goto :skipInfra
|
|
)
|
|
|
|
where docker >nul 2>nul
|
|
if %errorlevel% neq 0 (
|
|
echo [错误] 未找到 Docker。请先安装 Docker Desktop
|
|
echo 或者设置 SKIP_INFRA=true 使用外部基础设施
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [信息] 检查基础设施...
|
|
docker ps --filter "name=cloudnest-mysql" --format "{{.Names}}" | findstr "cloudnest-mysql" >nul
|
|
if %errorlevel% neq 0 (
|
|
echo [信息] 启动基础设施容器...
|
|
docker compose -f docker-compose.infra.yml up -d
|
|
echo [信息] 等待 MySQL 就绪(约 30 秒)...
|
|
timeout /t 30 /nobreak >nul
|
|
)
|
|
|
|
:skipInfra
|
|
|
|
echo [信息] 下载 Go 依赖...
|
|
set "GOROOT=D:\go"
|
|
set "PATH=D:\go\bin;%PATH%"
|
|
go mod tidy
|
|
if %errorlevel% neq 0 (
|
|
echo [错误] go mod tidy 失败
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [信息] 启动 Auth Service (端口: 8081)...
|
|
start "Auth Service" cmd /k "set CLOUDNEST_ENV=%CLOUDNEST_ENV% && set GOROOT=D:\go && set PATH=D:\go\bin;!PATH! && go run ./cmd/auth-service"
|
|
|
|
echo [信息] 启动 File Service (端口: 8082)...
|
|
start "File Service" cmd /k "set CLOUDNEST_ENV=%CLOUDNEST_ENV% && set SERVER_PORT=8082 && set GOROOT=D:\go && set PATH=D:\go\bin;!PATH! && go run ./cmd/file-service"
|
|
|
|
echo.
|
|
echo === 本地服务已启动 ===
|
|
echo 配置文件 / Config: configs/config.%CLOUDNEST_ENV%.yaml
|
|
echo Auth Service: http://localhost:8081 (若占用则自动切换端口)
|
|
echo File Service: http://localhost:8082 (若占用则自动切换端口)
|
|
echo MinIO Console: http://localhost:9001
|
|
echo.
|
|
pause |