Project.Fengling.QoderVersion/deploy.sh
sam 62f050a4f1 chore(docs): 添加项目完整文档与快速启动指南
- 新增详细的 Fengling 项目文档,涵盖项目结构、技术栈、环境准备
- 包含后端与前端开发指南与规范说明
- 提供丰富的第三方组件安装及 Docker 容器部署示例
- 描述本地开发流程、测试策略及调试技巧
- 详细介绍生产环境部署、CI/CD 集成及云平台部署方案
- 增加监控、性能优化及故障排查的最佳实践
- 新建管理后台前端 Dockerfile 和对应 nginx 配置文件
- 新增项目快速启动的 README 指南,方便开发者快速上手
2026-02-13 19:13:23 +08:00

60 lines
1.9 KiB
Bash

#!/bin/bash
# deploy.sh - 自动化部署脚本
set -e # 遇到错误立即退出
# 配置变量
PROJECT_NAME="fengling"
VERSION=${1:-"latest"}
REGISTRY="your-registry.com"
NAMESPACE="your-namespace"
echo "🚀 开始部署 $PROJECT_NAME 版本 $VERSION"
# 1. 构建后端镜像
echo "📦 构建后端镜像..."
cd Backend
docker build -t $REGISTRY/$NAMESPACE/fengling-backend:$VERSION -f src/Fengling.Backend.Web/Dockerfile .
docker push $REGISTRY/$NAMESPACE/fengling-backend:$VERSION
cd ..
# 2. 构建前端镜像
echo "🎨 构建前端镜像..."
# 管理后台
cd Frontend/Fengling.Backend.Admin
docker build -t $REGISTRY/$NAMESPACE/fengling-admin:$VERSION .
docker push $REGISTRY/$NAMESPACE/fengling-admin:$VERSION
cd ../..
# H5会员端
cd Frontend/Fengling.H5
docker build -t $REGISTRY/$NAMESPACE/fengling-h5:$VERSION .
docker push $REGISTRY/$NAMESPACE/fengling-h5:$VERSION
cd ../..
# 3. 部署到 Kubernetes (如果使用)
if [ -d "k8s" ]; then
echo "☸️ 部署到 Kubernetes..."
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
fi
# 4. 部署到 Docker Compose (如果使用)
if [ -f "docker-compose.prod.yml" ]; then
echo "🐳 部署到 Docker Compose..."
docker-compose -f docker-compose.prod.yml pull
docker-compose -f docker-compose.prod.yml up -d
fi
echo "✅ 部署完成!"
echo "应用查看地址:"
echo "- 管理后台: http://your-admin-domain.com"
echo "- H5会员端: http://your-h5-domain.com"
echo "- API 文档: http://your-api-domain.com/swagger"