quick-deploy-kit
Version:
通用快速部署工具包 - 基于实际生产验证的Docker化部署解决方案,支持多环境管理和智能化部署
331 lines (243 loc) • 7.19 kB
Markdown
# Quick Deploy Toolkit
[](https://badge.fury.io/js/quick-deploy-kit)
[](https://opensource.org/licenses/MIT)
通用快速部署工具包 - 基于实际生产验证的Vue3+NestJS项目成功经验,提供完整的Docker化部署解决方案。
## 🎉 v2.0 重大更新
基于实际生产环境验证的部署方案,全面优化:
### ✅ 核心优化
- **多阶段Docker构建** - 镜像体积减少50-70%
- **并行构建优化** - 构建时间减少40-60%
- **多层缓存策略** - 重复构建提升60-80%
- **多环境配置管理** - 支持dev/staging/prod环境
- **共享变量自动同步** - 统一配置管理
- **智能部署检测** - 基于文件变更的选择性构建
## 功能特性
- 🚀 一键初始化项目部署配置
- 🔧 支持多种前后端技术栈组合
- 🐳 自动生成Docker配置
- 📦 GitLab CI/CD自动部署
- 🔄 智能构建和部署策略
- 📊 健康检查和监控
- 🛡️ 安全配置和最佳实践
## 支持的技术栈
### 前端框架
- Vue 3 + Vite + Element Plus
- React + Vite + Ant Design
- Angular + TypeScript
- Next.js (React)
- Nuxt.js (Vue)
### 后端框架
- NestJS + TypeScript + MySQL
- Express + TypeScript + MySQL
- Koa + TypeScript + MySQL
- Spring Boot + Java + MySQL
- Django + Python + PostgreSQL
## 🚀 快速开始
### 安装
```bash
# 全局安装(推荐)
npm install -g quick-deploy-kit
# 或使用短命令
npm install -g qdt
```
### 一键启动
```bash
# 交互式启动(推荐)
quick-deploy
# 或
qdt
# 选择 "完整工作流程" 获得最佳体验
```
### 核心命令
```bash
# 初始化新项目(基于实际验证的模板)
quick-deploy init my-project
# 环境管理
quick-deploy env switch development
quick-deploy env switch production
# 同步共享变量
quick-deploy sync-vars
# 统一配置检查
quick-deploy check-all
# 验证配置
quick-deploy validate --fix
```
## 📋 完整功能
### 项目初始化
```bash
# 基于实际验证的模板初始化
quick-deploy init my-project
# 自动生成完整配置:
# ✅ 多阶段Docker构建配置
# ✅ 智能GitLab CI/CD流水线
# ✅ 并行构建和部署脚本
# ✅ 多环境配置管理
# ✅ 共享变量统一管理
# ✅ 健康检查和监控脚本
```
### 环境管理
```bash
# 切换开发环境
quick-deploy env switch development
# 切换生产环境
quick-deploy env switch production
# 查看当前环境
quick-deploy env current
# 列出所有环境
quick-deploy env list
```
### 配置管理
```bash
# 同步共享变量到所有配置文件
quick-deploy sync-vars
# 统一配置检查
quick-deploy check-all
# 验证配置并自动修复
quick-deploy validate --fix
```
### 智能部署
```bash
# 自动检测文件变更构建 (推荐)
git commit -m "更新前端界面" && git push
# 手动指定构建范围
git commit -m "[frontend] 更新界面" && git push
git commit -m "[backend] 更新API" && git push
git commit -m "[all] 全量更新" && git push
```
### 🔧 编程接口
```javascript
const { init, validate, test } = require('quick-deploy-kit');
// 初始化项目
await init({
projectName: 'my-project',
frontend: { framework: 'vue3-vite-element' },
backend: { framework: 'nestjs-typescript-mysql' }
});
// 验证配置
const isValid = await validate('./my-project');
// 测试部署
const testPassed = await test('./my-project', { fullTest: true });
```
### 📚 获取帮助
```bash
# 查看帮助信息
quick-deploy --help
# 查看特定命令的帮助
quick-deploy init --help
quick-deploy validate --help
```
## 目录结构
```
deploy-toolkit/
├── init.js # 初始化脚本
├── templates/ # 配置模板
│ ├── frontend/ # 前端模板
│ ├── backend/ # 后端模板
│ ├── docker/ # Docker配置模板
│ ├── ci/ # CI/CD模板
│ └── nginx/ # Nginx配置模板
├── scripts/ # 部署脚本
└── docs/ # 文档
```
## 使用说明
详细使用说明请参考 [使用指南](./docs/usage.md)
##
开发
### 本地开发
```bash
# 克隆项目
git clone https://github.com/yourusername/quick-deploy-toolkit.git
cd quick-deploy-toolkit
# 安装依赖
npm install
# 构建项目
npm run build
# 运行测试
npm test
# 代码检查
npm run lint
# 本地链接测试
npm link
quick-deploy --help
```
### 测试
```bash
# 运行所有测试
npm test
# 监听模式运行测试
npm run test:watch
# 生成覆盖率报告
npm test -- --coverage
```
### 发布
```bash
# 构建和测试
npm run build
npm test
# 发布到npm
npm publish
```
## API文档
### Initializer
```javascript
const { Initializer } = require('quick-deploy-kit');
const initializer = new Initializer({
projectName: 'my-project',
template: 'vue3-nestjs',
force: false,
quiet: false
});
await initializer.run();
```
### Validator
```javascript
const { Validator } = require('quick-deploy-kit');
const validator = new Validator({
projectPath: './my-project',
autoFix: true,
generateReport: true
});
const isValid = await validator.validate();
```
### Tester
```javascript
const { Tester } = require('quick-deploy-kit');
const tester = new Tester({
projectPath: './my-project',
fullTest: true,
generateReport: true
});
const success = await tester.runTests();
```
## 贡献
欢迎贡献代码!请遵循以下步骤:
1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add some amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 开启 Pull Request
### 贡献指南
- 遵循现有的代码风格
- 添加适当的测试
- 更新相关文档
- 确保所有测试通过
## 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 更新日志
### v1.0.0
- 初始版本发布
- 支持5种前端框架 × 5种后端框架组合
- 完整的Docker化部署配置生成
- GitLab CI/CD自动部署支持
- 配置验证和测试功能
- 交互式命令行界面
## 支持
如果你觉得这个项目有用,请给它一个 ⭐️!
- 📧 邮箱: your.email@example.com
- 🐛 问题反馈: [GitHub Issues](https://github.com/yourusername/quick-deploy-toolkit/issues)
- 💬 讨论: [GitHub Discussions](https://github.com/yourusername/quick-deploy-toolkit/discussions)
## 相关项目
- [Docker](https://www.docker.com/) - 容器化平台
- [GitLab CI/CD](https://docs.gitlab.com/ee/ci/) - 持续集成/持续部署
- [Vue.js](https://vuejs.org/) - 渐进式JavaScript框架
- [NestJS](https://nestjs.com/) - 企业级Node.js框架