更新: - deploy.sh: 添加移动端部署命令 * mobile dev - 启动开发服务器 * mobile h5 - 构建H5版本 * mobile mp-weixin - 构建微信小程序 * mobile app - 构建App * 服务启动时显示移动端访问地址 新增: - MOBILE_DEPLOY.md: 移动端部署指南(173行) * 支持平台说明(H5/小程序/App) * 快速部署步骤 * 各平台构建和发布流程 * 配置说明和常见问题 访问地址: - H5: http://localhost/mobile - 开发调试: cd fund-mobile && npm run dev:h5
214 lines
5.8 KiB
Bash
Executable File
214 lines
5.8 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 资金服务平台部署脚本
|
||
|
||
set -e
|
||
|
||
echo "========================================"
|
||
echo " 资金服务平台 Docker 部署脚本"
|
||
echo "========================================"
|
||
|
||
# 颜色定义
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
NC='\033[0m' # No Color
|
||
|
||
# 函数:打印信息
|
||
print_info() {
|
||
echo -e "${GREEN}[INFO]${NC} $1"
|
||
}
|
||
|
||
print_warn() {
|
||
echo -e "${YELLOW}[WARN]${NC} $1"
|
||
}
|
||
|
||
print_error() {
|
||
echo -e "${RED}[ERROR]${NC} $1"
|
||
}
|
||
|
||
# 检查Docker
|
||
if ! command -v docker &> /dev/null; then
|
||
print_error "Docker 未安装,请先安装 Docker"
|
||
exit 1
|
||
fi
|
||
|
||
if ! command -v docker-compose &> /dev/null; then
|
||
print_error "Docker Compose 未安装,请先安装 Docker Compose"
|
||
exit 1
|
||
fi
|
||
|
||
# 创建必要的目录
|
||
print_info "创建必要的目录..."
|
||
mkdir -p logs/fund-sys logs/fund-cust logs/fund-proj
|
||
mkdir -p init
|
||
mkdir -p redis
|
||
|
||
# 创建Redis配置文件
|
||
if [ ! -f redis/redis.conf ]; then
|
||
print_info "创建 Redis 配置文件..."
|
||
cat > redis/redis.conf << 'EOF'
|
||
bind 0.0.0.0
|
||
port 6379
|
||
timeout 0
|
||
tcp-keepalive 300
|
||
daemonize no
|
||
supervised no
|
||
pidfile /var/run/redis_6379.pid
|
||
loglevel notice
|
||
logfile ""
|
||
databases 16
|
||
always-show-logo no
|
||
save 900 1
|
||
save 300 10
|
||
save 60 10000
|
||
stop-writes-on-bgsave-error yes
|
||
rdbcompression yes
|
||
rdbchecksum yes
|
||
dbfilename dump.rdb
|
||
dir /data
|
||
replica-serve-stale-data yes
|
||
replica-read-only yes
|
||
repl-diskless-sync no
|
||
repl-diskless-sync-delay 5
|
||
repl-ping-replica-period 10
|
||
repl-timeout 60
|
||
repl-disable-tcp-nodelay no
|
||
replica-priority 100
|
||
maxmemory-policy allkeys-lru
|
||
lazyfree-lazy-eviction no
|
||
lazyfree-lazy-expire no
|
||
lazyfree-lazy-server-del no
|
||
replica-lazy-flush no
|
||
appendonly yes
|
||
appendfilename "appendonly.aof"
|
||
appendfsync everysec
|
||
no-appendfsync-on-rewrite no
|
||
auto-aof-rewrite-percentage 100
|
||
auto-aof-rewrite-min-size 64mb
|
||
aof-load-truncated yes
|
||
aof-use-rdb-preamble yes
|
||
EOF
|
||
fi
|
||
|
||
# 解析参数
|
||
ACTION=${1:-up}
|
||
|
||
case $ACTION in
|
||
up)
|
||
print_info "启动所有服务..."
|
||
docker-compose up -d
|
||
print_info "服务启动完成!"
|
||
echo ""
|
||
echo "========================================"
|
||
echo " 服务访问地址"
|
||
echo "========================================"
|
||
echo ""
|
||
echo "【管理端 - PC浏览器访问】"
|
||
echo " - Nacos控制台: http://localhost:8848/nacos (admin/admin)"
|
||
echo " - Swagger文档: http://localhost:8080/swagger-ui.html"
|
||
echo " - 应用服务: http://localhost:8080"
|
||
echo " - Nginx网关: http://localhost"
|
||
echo ""
|
||
echo "【移动端 - UniApp】"
|
||
echo " - H5访问: http://localhost:8080/mobile"
|
||
echo " - 开发调试: cd fund-mobile && npm run dev:h5"
|
||
echo ""
|
||
echo "========================================"
|
||
;;
|
||
down)
|
||
print_info "停止所有服务..."
|
||
docker-compose down
|
||
print_info "服务已停止"
|
||
;;
|
||
restart)
|
||
print_info "重启服务..."
|
||
docker-compose restart
|
||
print_info "服务重启完成"
|
||
;;
|
||
build)
|
||
print_info "重新构建镜像..."
|
||
docker-compose build --no-cache
|
||
print_info "镜像构建完成"
|
||
;;
|
||
logs)
|
||
SERVICE=${2:-}
|
||
if [ -z "$SERVICE" ]; then
|
||
docker-compose logs -f
|
||
else
|
||
docker-compose logs -f $SERVICE
|
||
fi
|
||
;;
|
||
status)
|
||
print_info "查看服务状态..."
|
||
docker-compose ps
|
||
;;
|
||
clean)
|
||
print_warn "清理所有数据(包括数据库)..."
|
||
read -p "确定要删除所有数据吗?这将删除数据库和日志! [y/N] " confirm
|
||
if [[ $confirm == [yY] ]]; then
|
||
docker-compose down -v
|
||
rm -rf logs/*
|
||
print_info "数据清理完成"
|
||
else
|
||
print_info "取消清理"
|
||
fi
|
||
;;
|
||
mobile)
|
||
print_info "构建移动端应用..."
|
||
cd ../../fund-mobile
|
||
|
||
case ${2:-h5} in
|
||
h5)
|
||
print_info "构建H5版本..."
|
||
npm run build:h5
|
||
print_info "H5构建完成,输出目录: dist/build/h5"
|
||
;;
|
||
mp-weixin)
|
||
print_info "构建微信小程序..."
|
||
npm run build:mp-weixin
|
||
print_info "微信小程序构建完成,输出目录: dist/build/mp-weixin"
|
||
print_info "请使用微信开发者工具导入该目录"
|
||
;;
|
||
app)
|
||
print_info "构建App..."
|
||
npm run build:app
|
||
print_info "App构建完成,输出目录: dist/build/app"
|
||
;;
|
||
dev)
|
||
print_info "启动移动端开发服务器..."
|
||
npm run dev:h5
|
||
;;
|
||
*)
|
||
echo "用法: $0 mobile {h5|mp-weixin|app|dev}"
|
||
echo ""
|
||
echo "命令说明:"
|
||
echo " h5 - 构建H5版本"
|
||
echo " mp-weixin - 构建微信小程序"
|
||
echo " app - 构建App"
|
||
echo " dev - 启动开发服务器"
|
||
exit 1
|
||
;;
|
||
esac
|
||
;;
|
||
*)
|
||
echo "用法: $0 {up|down|restart|build|logs|status|clean|mobile}"
|
||
echo ""
|
||
echo "命令说明:"
|
||
echo " up - 启动所有服务"
|
||
echo " down - 停止所有服务"
|
||
echo " restart - 重启服务"
|
||
echo " build - 重新构建镜像"
|
||
echo " logs - 查看日志 [服务名]"
|
||
echo " status - 查看服务状态"
|
||
echo " clean - 清理所有数据(危险!)"
|
||
echo " mobile - 移动端构建 {h5|mp-weixin|app|dev}"
|
||
exit 1
|
||
;;
|
||
esac
|
||
|
||
echo ""
|
||
echo "========================================"
|
||
echo " 部署脚本执行完成"
|
||
echo "========================================"
|