- 新增详细的 Fengling 项目文档,涵盖项目结构、技术栈、环境准备 - 包含后端与前端开发指南与规范说明 - 提供丰富的第三方组件安装及 Docker 容器部署示例 - 描述本地开发流程、测试策略及调试技巧 - 详细介绍生产环境部署、CI/CD 集成及云平台部署方案 - 增加监控、性能优化及故障排查的最佳实践 - 新建管理后台前端 Dockerfile 和对应 nginx 配置文件 - 新增项目快速启动的 README 指南,方便开发者快速上手
60 lines
1.9 KiB
Bash
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" |