178 lines
4.6 KiB
Bash
Executable File
178 lines
4.6 KiB
Bash
Executable File
#!/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 ""
|
||
|