136 lines
3.7 KiB
Batchfile
136 lines
3.7 KiB
Batchfile
|
|
@echo off
|
||
|
|
chcp 65001 >nul
|
||
|
|
echo ============================================
|
||
|
|
echo 文件管理系统 - Windows 部署脚本
|
||
|
|
echo ============================================
|
||
|
|
echo.
|
||
|
|
|
||
|
|
:: 设置部署目录
|
||
|
|
set DEPLOY_DIR=%~dp0deploy
|
||
|
|
set SERVER_DIR=%DEPLOY_DIR%\server
|
||
|
|
set FRONTEND_DIR=%DEPLOY_DIR%\frontend
|
||
|
|
|
||
|
|
:: 清理旧部署
|
||
|
|
if exist "%DEPLOY_DIR%" (
|
||
|
|
echo [1/6] 清理旧部署目录...
|
||
|
|
rmdir /s /q "%DEPLOY_DIR%"
|
||
|
|
)
|
||
|
|
|
||
|
|
:: 创建目录结构
|
||
|
|
echo [2/6] 创建目录结构...
|
||
|
|
mkdir "%SERVER_DIR%"
|
||
|
|
mkdir "%SERVER_DIR%\data\storage"
|
||
|
|
mkdir "%FRONTEND_DIR%"
|
||
|
|
|
||
|
|
:: 编译后端
|
||
|
|
echo [3/6] 编译后端...
|
||
|
|
cd /d "%~dp0"
|
||
|
|
set GOPROXY=https://goproxy.cn,direct
|
||
|
|
go build -o "%SERVER_DIR%\server.exe" main.go
|
||
|
|
if errorlevel 1 (
|
||
|
|
echo 编译失败!
|
||
|
|
pause
|
||
|
|
exit /b 1
|
||
|
|
)
|
||
|
|
|
||
|
|
:: 复制后端文件
|
||
|
|
echo [4/6] 复制后端文件...
|
||
|
|
copy /y config.yaml "%SERVER_DIR%\" >nul
|
||
|
|
copy /y config.yaml "%SERVER_DIR%\config.yaml.example" >nul
|
||
|
|
xcopy /s /e /y sql "%SERVER_DIR%\sql\" >nul
|
||
|
|
|
||
|
|
:: 构建前端
|
||
|
|
echo [5/6] 构建前端...
|
||
|
|
cd /d "%~dp0..\web"
|
||
|
|
call npm run build
|
||
|
|
if errorlevel 1 (
|
||
|
|
echo 前端构建失败!
|
||
|
|
pause
|
||
|
|
exit /b 1
|
||
|
|
)
|
||
|
|
xcopy /s /e /y dist "%FRONTEND_DIR%\" >nul
|
||
|
|
|
||
|
|
:: 生成启动脚本
|
||
|
|
echo [6/6] 生成启动脚本...
|
||
|
|
|
||
|
|
:: 后端启动脚本
|
||
|
|
(
|
||
|
|
echo @echo off
|
||
|
|
echo chcp 65001 ^>nul
|
||
|
|
echo echo ============================================
|
||
|
|
echo echo 文件管理系统 - 后端服务
|
||
|
|
echo echo ============================================
|
||
|
|
echo echo.
|
||
|
|
echo echo 启动中... 访问 http://localhost:8080/health 检查状态
|
||
|
|
echo echo.
|
||
|
|
echo server.exe
|
||
|
|
echo pause
|
||
|
|
) > "%DEPLOY_DIR%\启动后端.bat"
|
||
|
|
|
||
|
|
:: 数据库初始化脚本
|
||
|
|
(
|
||
|
|
echo @echo off
|
||
|
|
echo chcp 65001 ^>nul
|
||
|
|
echo echo ============================================
|
||
|
|
echo echo 数据库初始化
|
||
|
|
echo echo ============================================
|
||
|
|
echo echo.
|
||
|
|
echo set /p MYSQL_PWD=请输入MySQL root密码:
|
||
|
|
echo echo.
|
||
|
|
echo echo 正在创建数据库...
|
||
|
|
echo mysql -u root -p%%MYSQL_PWD%% -e "CREATE DATABASE IF NOT EXISTS seeyon_fs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||
|
|
echo echo.
|
||
|
|
echo echo 正在导入表结构...
|
||
|
|
echo mysql -u root -p%%MYSQL_PWD%% seeyon_fs ^< sql\init.sql
|
||
|
|
echo echo.
|
||
|
|
echo echo 初始化完成!
|
||
|
|
echo pause
|
||
|
|
) > "%DEPLOY_DIR%\初始化数据库.bat"
|
||
|
|
|
||
|
|
:: 使用说明
|
||
|
|
(
|
||
|
|
echo ============================================
|
||
|
|
echo 文件管理系统 - 部署说明
|
||
|
|
echo ============================================
|
||
|
|
echo.
|
||
|
|
echo 【目录结构】
|
||
|
|
echo deploy/
|
||
|
|
echo ├── server/
|
||
|
|
echo │ ├── server.exe 后端服务
|
||
|
|
echo │ ├── config.yaml 配置文件(需修改)
|
||
|
|
echo │ ├── config.yaml.example 配置示例
|
||
|
|
echo │ ├── data/storage/ 文件存储目录
|
||
|
|
echo │ └── sql/init.sql 数据库脚本
|
||
|
|
echo ├── frontend/ 前端静态资源
|
||
|
|
echo ├── 启动后端.bat 启动后端服务
|
||
|
|
echo └── 初始化数据库.bat 首次部署执行
|
||
|
|
echo.
|
||
|
|
echo 【部署步骤】
|
||
|
|
echo 1. 安装MySQL 8.0, 运行"初始化数据库.bat"
|
||
|
|
echo 2. 修改server/config.yaml中的数据库密码等配置
|
||
|
|
echo 3. 运行"启动后端.bat"
|
||
|
|
echo 4. 配置Nginx(参考docs/nginx-production.conf)
|
||
|
|
echo 5. 访问 http://你的域名
|
||
|
|
echo.
|
||
|
|
echo 【默认账号】admin / admin123
|
||
|
|
echo.
|
||
|
|
) > "%DEPLOY_DIR%\部署说明.txt"
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo ============================================
|
||
|
|
echo 部署完成!
|
||
|
|
echo ============================================
|
||
|
|
echo.
|
||
|
|
echo 部署目录: %DEPLOY_DIR%
|
||
|
|
echo.
|
||
|
|
echo 文件清单:
|
||
|
|
dir /s /b "%DEPLOY_DIR%\*.exe" "%DEPLOY_DIR%\*.yaml" "%DEPLOY_DIR%\*.bat" "%DEPLOY_DIR%\*.txt" 2>nul
|
||
|
|
echo.
|
||
|
|
echo 下一步:
|
||
|
|
echo 1. 将 %DEPLOY_DIR% 复制到目标服务器
|
||
|
|
echo 2. 运行"初始化数据库.bat"
|
||
|
|
echo 3. 修改 config.yaml 配置
|
||
|
|
echo 4. 运行"启动后端.bat"
|
||
|
|
echo.
|
||
|
|
pause
|