"添加前端模板和运行代码模块"

This commit is contained in:
Codex
2026-06-01 13:43:09 +08:00
parent 24045274ad
commit 8092c4b1f8
587 changed files with 99761 additions and 0 deletions

View File

@@ -0,0 +1,210 @@
# 模板上传脚本使用说明
## 功能说明
提供四个脚本用于模板部署与重启:
1. **`deploy-templates.sh`** - 完整部署流程(推荐)
- 打包所有模板
- 上传到远程服务器
- 重启 rcoder 容器内 `nuwax-file-server` 进程(不重启整个容器)
2. **`upload-templates.sh`** - 仅上传已有的 zip 文件
- 适用于已经打包好的情况
- 仅上传文件,不执行任何重启
3. **`restart-file-server.sh`** - 仅重启 `nuwax-file-server` 进程
-`rcoder` 容器内先停止旧进程,再拉起新进程
- 内置健康检查
4. **`restart-rcoder.sh`** - 仅重启 `rcoder` 容器
- 与 file-server 进程重启完全解耦
## 前置要求
### 安装 sshpass
macOS 上需要安装 sshpass 工具来实现自动化 SSH 登录:
```bash
brew install hudochenkov/sshpass/sshpass
```
## 配置说明
### 1. 创建 .env 文件
在项目根目录创建 `.env` 文件(已在 .gitignore 中,不会提交到 git
```bash
cp .env.example .env
```
### 2. 配置环境变量
编辑 `.env` 文件,设置远程服务器信息:
```bash
REMOTE_HOST=192.168.1.34
REMOTE_USER=swufe
REMOTE_PASSWORD=Swufe@2024
REMOTE_PATH=/home/swufe/nuwax/docker/config/rcoder/template
```
## 使用方法
### 方式一: 完整部署(推荐)
一键完成打包、上传并重启容器内 file-server
```bash
# 使用 npm script推荐
pnpm deploy:templates
# 或直接运行脚本
./scripts/deploy-templates.sh
```
这个脚本会:
1. 使用 `pnpm pack:all` 打包所有模板
2. 上传 react-vite 和 vue3-vite 到远程服务器
3. 重启 rcoder 容器内 `nuwax-file-server` 进程
### 方式二: 仅上传
如果已经打包好了,只需要上传:
```bash
# 使用 npm script推荐
pnpm upload:templates
# 或直接运行脚本
./scripts/upload-templates.sh
```
### 方式三: 仅重启 file-server
```bash
# 使用 npm script推荐
pnpm restart:file-server
# 或直接运行脚本
./scripts/restart-file-server.sh
```
### 方式四: 仅重启 rcoder 容器
```bash
# 使用 npm script推荐
pnpm restart:rcoder
# 或直接运行脚本
./scripts/restart-rcoder.sh
```
### 脚本执行流程
1. 加载 `.env` 配置
2. 检查必需的环境变量
3. 查找 `zip/` 目录下最新的模板文件:
- `react-vite-template_*.zip`
- `vue3-vite-template_*.zip`
4. 重命名为标准名称:
- `react-vite-template.zip`
- `vue3-vite-template.zip`
5. 上传到远程服务器
### 上传的文件
脚本会自动上传以下两个模板:
- `react-vite-template.zip` - React + Vite 模板
- `vue3-vite-template.zip` - Vue3 + Vite 模板
注意:`react-next-template` 不会被上传(根据需求只上传 vite 模板)
## 远程服务器路径
上传目标路径:`/home/swufe/nuwax/docker/config/rcoder/template`
上传后的文件结构:
```
/home/swufe/nuwax/docker/config/rcoder/template/
├── react-vite-template.zip
├── react-vite-template/ # 自动解压后的目录
├── vue3-vite-template.zip
└── vue3-vite-template/ # 自动解压后的目录
```
## 自动化流程
脚本会自动完成以下操作:
1. **上传模板文件** - 上传最新的 react-vite 和 vue3-vite 模板
2. **重启 file-server 进程** - 在 rcoder 容器内重启 `nuwax-file-server`
3. **容器重启(可选)** - 如有需要,手动执行 `restart-rcoder.sh`
无需手动干预,一键完成整个部署流程。
## 安全说明
- `.env` 文件包含敏感信息(密码),已添加到 `.gitignore`
- 不要将 `.env` 文件提交到 git 仓库
- 可以使用 `.env.example` 作为配置模板分享
## 故障排除
### sshpass 未安装
```
错误: sshpass 未安装
请运行: brew install hudochenkov/sshpass/sshpass
```
解决方法:安装 sshpass
### .env 文件不存在
```
错误: .env 文件不存在,请先创建 .env 文件
```
解决方法:复制 `.env.example` 并修改配置
### 未找到模板文件
```
错误: 未找到 react-vite-template zip 文件
```
解决方法:确保 `zip/` 目录下存在对应的模板 zip 文件
### SSH 连接失败
检查:
1. 远程服务器 IP 是否正确
2. 用户名和密码是否正确
3. 网络连接是否正常
4. 远程服务器是否开启 SSH 服务
## 手动上传方式
如果自动脚本无法使用,可以手动上传:
```bash
# 1. 进入 zip 目录
cd zip
# 2. 使用 scp 上传
scp react-vite-template_*.zip swufe@192.168.1.34:/home/swufe/nuwax/docker/config/rcoder/template/react-vite-template.zip
scp vue3-vite-template_*.zip swufe@192.168.1.34:/home/swufe/nuwax/docker/config/rcoder/template/vue3-vite-template.zip
# 3. SSH 登录到远程服务器
ssh swufe@192.168.1.34
# 4. 解压文件
cd /home/swufe/nuwax/docker/config/rcoder/template
unzip -o react-vite-template.zip -d react-vite-template
unzip -o vue3-vite-template.zip -d vue3-vite-template
```