xiaso-flnxi-website/deploy-website-update.sh
Your Name b1eab32c75 初始提交: FLNXI电商素材系统官方网站
- Next.js 项目框架
- 完整的认证系统集成
- 数据库配置和部署脚本
- 产品价格体系和文档
- Docker 部署配置
2025-12-13 21:38:32 +08:00

178 lines
4.6 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 销售官网更新部署脚本
# 包含:Hero、Pricing、SystemFeatures、Features等组件
# 使用方法:bash deploy-website-update.sh
set -e
echo "🚀 部署销售官网更新..."
echo ""
# 服务器信息
SERVER="root@45.249.208.118"
SERVER_IP="45.249.208.118"
REMOTE_DIR="/opt/flnxi-website"
# 颜色定义
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
# 检查服务器连接
echo -e "${BLUE}检查服务器连接...${NC}"
if ! ssh -o ConnectTimeout=5 $SERVER "echo '连接成功'" 2>/dev/null; then
echo -e "${RED}❌ 无法连接到服务器 $SERVER_IP${NC}"
echo "请检查:"
echo "1. 服务器是否在线"
echo "2. SSH密钥是否配置正确"
echo "3. 网络连接是否正常"
exit 1
fi
echo -e "${GREEN}✅ 服务器连接成功${NC}"
echo ""
# 步骤1:打包更新文件
echo -e "${BLUE}步骤 1/6: 打包更新文件...${NC}"
rm -f website-update.tar.gz
# 打包所有更新的组件和页面
tar -czf website-update.tar.gz \
components/Hero.tsx \
components/Pricing.tsx \
components/Features.tsx \
components/SystemFeatures.tsx \
app/page.tsx \
package.json
echo -e "${GREEN}✅ 文件打包完成${NC}"
echo "打包内容:"
echo " - components/Hero.tsx"
echo " - components/Pricing.tsx"
echo " - components/Features.tsx"
echo " - components/SystemFeatures.tsx"
echo " - app/page.tsx"
echo " - package.json"
echo ""
# 步骤2:上传到服务器
echo -e "${BLUE}步骤 2/6: 上传到服务器...${NC}"
scp -o StrictHostKeyChecking=no website-update.tar.gz $SERVER:$REMOTE_DIR/
echo -e "${GREEN}✅ 上传完成${NC}"
echo ""
# 步骤3:解压文件
echo -e "${BLUE}步骤 3/6: 解压更新文件...${NC}"
ssh $SERVER << 'ENDSSH'
cd /opt/flnxi-website
echo "📦 解压文件..."
tar -xzf website-update.tar.gz
rm website-update.tar.gz
echo "✅ 文件已更新"
ENDSSH
echo -e "${GREEN}✅ 解压完成${NC}"
echo ""
# 步骤4:重新构建Docker镜像
echo -e "${BLUE}步骤 4/6: 重新构建Docker镜像...${NC}"
echo -e "${YELLOW}⏳ 这可能需要2-3分钟,请稍候...${NC}"
ssh $SERVER << 'ENDSSH'
cd /opt/flnxi-website
echo "🐳 停止旧容器..."
docker-compose down
echo "🔨 构建新镜像..."
docker-compose build --no-cache
echo "✅ 镜像构建完成"
ENDSSH
echo -e "${GREEN}✅ Docker镜像已重新构建${NC}"
echo ""
# 步骤5:启动服务
echo -e "${BLUE}步骤 5/6: 启动服务...${NC}"
ssh $SERVER << 'ENDSSH'
cd /opt/flnxi-website
echo "🚀 启动容器..."
docker-compose up -d
echo "⏳ 等待服务启动(30秒)..."
sleep 30
echo "✅ 服务已启动"
ENDSSH
echo -e "${GREEN}✅ 服务已启动${NC}"
echo ""
# 步骤6:验证部署
echo -e "${BLUE}步骤 6/6: 验证部署...${NC}"
# 检查容器状态
echo "检查容器状态..."
ssh $SERVER "cd $REMOTE_DIR && docker-compose ps"
# 检查网站响应
echo ""
echo "检查网站响应..."
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" http://$SERVER_IP:3000 || echo "000")
if [ "$RESPONSE" = "200" ]; then
echo -e "${GREEN}✅ 网站响应正常 (HTTP $RESPONSE)${NC}"
else
echo -e "${YELLOW}⚠️ 网站响应异常 (HTTP $RESPONSE)${NC}"
echo "请检查日志:ssh $SERVER 'cd $REMOTE_DIR && docker-compose logs --tail 50'"
fi
echo ""
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${GREEN}🎉 销售官网更新部署完成!${NC}"
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo ""
echo -e "${YELLOW}📝 更新内容:${NC}"
echo ""
echo "✅ Hero首页组件"
echo " - 推广期特惠价¥599"
echo " - 免费版10人100素材"
echo " - 远程部署服务¥299"
echo ""
echo "✅ Pricing价格组件"
echo " - 三级版本:免费版、付费版、定制版"
echo " - 远程部署服务卡片"
echo " - 推广期特惠¥599(原价¥4,999)"
echo ""
echo "✅ SystemFeatures系统功能组件"
echo " - 12大核心功能详解"
echo " - 功能标签和徽章"
echo " - 付费版功能标识"
echo ""
echo "✅ Features核心优势组件"
echo " - 8大优势对比"
echo " - 免费版vs付费版对比表"
echo ""
echo -e "${YELLOW}🌐 访问地址:${NC}"
echo "http://$SERVER_IP:3000"
echo ""
echo -e "${YELLOW}🔍 查看日志:${NC}"
echo "ssh $SERVER 'cd $REMOTE_DIR && docker-compose logs -f --tail 100'"
echo ""
echo -e "${YELLOW}📊 查看容器状态:${NC}"
echo "ssh $SERVER 'cd $REMOTE_DIR && docker-compose ps'"
echo ""
# 清理本地临时文件
rm -f website-update.tar.gz
echo -e "${GREEN}✨ 部署成功!${NC}"
echo ""