Skip to content

aifetch/deploy-copilot

Repository files navigation

PXGL 一键部署工具

基于 React、Vite 和 Tauri 2 构建的桌面端部署工具,用于管理 PXGL 资源部署配置,并支持手动部署、自动监听部署和 Git 信息展示。

功能特性

  • 多部署配置管理:新增、编辑、复制、删除和拖拽排序配置。
  • 两种部署模式:
    • 资源直放:将源目录中的指定资源目录复制到目标目录。
    • JAR 替换:将资源写入目标 JAR 包内的静态资源路径。
  • 自动部署:监听源目录变化后触发部署。
  • Git 信息展示:读取源目录当前分支、最近提交和提交时间。
  • 部署进度与日志:展示当前阶段、进度百分比和执行日志。

技术栈

  • 前端:React 18、TypeScript、Vite
  • 桌面端:Tauri 2
  • 后端:Rust
  • 关键 Rust 依赖:tauritokiozipgit2notifyserde

环境要求

  • Node.js 18+
  • npm
  • Rust stable
  • Tauri 2 所需系统依赖

Windows 环境下通常还需要安装 Microsoft C++ Build Tools 和 WebView2 Runtime。

安装依赖

npm install

开发运行

启动 Tauri 开发模式:

npm run tauri dev

仅启动前端开发服务:

npm run dev

前端开发服务默认端口为 1420

构建

构建前端产物:

npm run build

构建桌面安装包:

npm run tauri build

构建产物位于 src-tauri/target/ 目录下。

配置说明

应用配置会保存到系统配置目录下的 pxgl-deploy/config.json

单个部署配置包含以下关键字段:

  • name:配置名称。
  • sourceDir:源项目目录。
  • targetDir:目标部署目录。
  • sourceResourceDir:源目录下需要部署的资源目录,默认 PXGL
  • mode:部署模式,支持 directCopyjarStaticReplace
  • jarFileName:JAR 替换模式下的目标 JAR 文件名,默认 ydcloud-Web-1.1.0.jar
  • jarStaticPath:JAR 内静态资源路径,默认 BOOT-INF/classes/static
  • autoDeploy:是否启用目录监听自动部署。

项目结构

.
├── src/                    # React 前端源码
│   ├── components/          # UI 组件
│   ├── hooks/               # 前端状态和业务 Hook
│   ├── types/               # TypeScript 类型定义
│   └── utils/               # Tauri 调用封装
├── src-tauri/               # Tauri/Rust 后端源码
│   ├── src/commands/        # Tauri 命令
│   ├── src/config.rs        # 配置读写和数据结构
│   ├── src/deploy.rs        # 部署核心逻辑
│   ├── src/git.rs           # Git 信息读取
│   ├── src/watcher.rs       # 自动部署监听
│   └── tauri.conf.json      # Tauri 配置
├── package.json             # 前端依赖和脚本
└── vite.config.ts           # Vite 配置

常用脚本

命令 说明
npm run dev 启动 Vite 开发服务
npm run build TypeScript 检查并构建前端
npm run preview 预览前端构建产物
npm run tauri dev 启动 Tauri 开发模式
npm run tauri build 构建桌面应用

注意事项

  • 部署前请确认源目录和目标目录路径正确。
  • JAR 替换模式会修改目标 JAR 内容,建议在正式使用前保留备份。
  • 自动部署依赖文件系统监听,频繁生成临时文件的目录可能触发多次部署。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors