- 新增详细的 Fengling 项目文档,涵盖项目结构、技术栈、环境准备 - 包含后端与前端开发指南与规范说明 - 提供丰富的第三方组件安装及 Docker 容器部署示例 - 描述本地开发流程、测试策略及调试技巧 - 详细介绍生产环境部署、CI/CD 集成及云平台部署方案 - 增加监控、性能优化及故障排查的最佳实践 - 新建管理后台前端 Dockerfile 和对应 nginx 配置文件 - 新增项目快速启动的 README 指南,方便开发者快速上手
66 lines
2.6 KiB
PowerShell
66 lines
2.6 KiB
PowerShell
# deploy.ps1 - Windows 部署脚本
|
|
|
|
param(
|
|
[string]$Version = "latest",
|
|
[string]$Registry = "your-registry.com",
|
|
[string]$Namespace = "your-namespace"
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
$ProjectName = "fengling"
|
|
Write-Host "🚀 开始部署 $ProjectName 版本 $Version" -ForegroundColor Green
|
|
|
|
try {
|
|
# 1. 构建后端镜像
|
|
Write-Host "📦 构建后端镜像..." -ForegroundColor Yellow
|
|
Set-Location Backend
|
|
docker build -t "$Registry/$Namespace/fengling-backend:$Version" -f src/Fengling.Backend.Web/Dockerfile .
|
|
docker push "$Registry/$Namespace/fengling-backend:$Version"
|
|
Set-Location ..
|
|
|
|
# 2. 构建前端镜像
|
|
Write-Host "🎨 构建前端镜像..." -ForegroundColor Yellow
|
|
|
|
# 管理后台
|
|
Set-Location Frontend/Fengling.Backend.Admin
|
|
docker build -t "$Registry/$Namespace/fengling-admin:$Version" .
|
|
docker push "$Registry/$Namespace/fengling-admin:$Version"
|
|
Set-Location ../..
|
|
|
|
# H5会员端
|
|
Set-Location Frontend/Fengling.H5
|
|
docker build -t "$Registry/$Namespace/fengling-h5:$Version" .
|
|
docker push "$Registry/$Namespace/fengling-h5:$Version"
|
|
Set-Location ../..
|
|
|
|
# 3. 部署到 Kubernetes (如果使用)
|
|
if (Test-Path "k8s") {
|
|
Write-Host "☸️ 部署到 Kubernetes..." -ForegroundColor Yellow
|
|
kubectl set image deployment/fengling-backend fengling-backend="$Registry/$Namespace/fengling-backend:$Version"
|
|
kubectl set image deployment/fengling-admin fengling-admin="$Registry/$Namespace/fengling-admin:$Version"
|
|
kubectl set image deployment/fengling-h5 fengling-h5="$Registry/$Namespace/fengling-h5:$Version"
|
|
|
|
# 等待部署完成
|
|
kubectl rollout status deployment/fengling-backend
|
|
kubectl rollout status deployment/fengling-admin
|
|
kubectl rollout status deployment/fengling-h5
|
|
}
|
|
|
|
# 4. 部署到 Docker Compose (如果使用)
|
|
if (Test-Path "docker-compose.prod.yml") {
|
|
Write-Host "🐳 部署到 Docker Compose..." -ForegroundColor Yellow
|
|
docker-compose -f docker-compose.prod.yml pull
|
|
docker-compose -f docker-compose.prod.yml up -d
|
|
}
|
|
|
|
Write-Host "✅ 部署完成!" -ForegroundColor Green
|
|
Write-Host "应用查看地址:" -ForegroundColor Cyan
|
|
Write-Host "- 管理后台: http://your-admin-domain.com" -ForegroundColor White
|
|
Write-Host "- H5会员端: http://your-h5-domain.com" -ForegroundColor White
|
|
Write-Host "- API 文档: http://your-api-domain.com/swagger" -ForegroundColor White
|
|
|
|
} catch {
|
|
Write-Host "❌ 部署失败: $($_.Exception.Message)" -ForegroundColor Red
|
|
exit 1
|
|
} |