From 7989a8586b0ee81313f822c77d75f563c8d59c77 Mon Sep 17 00:00:00 2001 From: yuany3721 Date: Sun, 5 Apr 2026 23:39:32 +0800 Subject: [PATCH] feat: add blog deployment script - Build blog with pnpm blog:build - Clear target directory before deployment - Copy dist files to /home/yuany3721/webpages/blog/ --- deploy-blog.sh | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 deploy-blog.sh diff --git a/deploy-blog.sh b/deploy-blog.sh new file mode 100755 index 00000000..99c1e9b6 --- /dev/null +++ b/deploy-blog.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +# Blog 部署脚本 +# 功能:构建博客并部署到服务器指定目录 + +set -e # 遇到错误立即退出 + +# 配置 +SOURCE_DIR="examples/blog/docs/.vuepress/dist" +TARGET_DIR="/home/yuany3721/webpages/blog" + +# 颜色输出 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +echo -e "${YELLOW}========================================${NC}" +echo -e "${YELLOW} 开始部署博客${NC}" +echo -e "${YELLOW}========================================${NC}" +echo "" + +# 检查是否在项目根目录 +if [ ! -f "package.json" ]; then + echo -e "${RED}错误:请在项目根目录运行此脚本${NC}" + exit 1 +fi + +# 步骤 1: 构建博客 +echo -e "${YELLOW}[1/3] 正在构建博客...${NC}" +pnpm blog:build + +if [ $? -ne 0 ]; then + echo -e "${RED}构建失败!${NC}" + exit 1 +fi + +echo -e "${GREEN}✓ 构建成功${NC}" +echo "" + +# 步骤 2: 检查源目录是否存在 +if [ ! -d "$SOURCE_DIR" ]; then + echo -e "${RED}错误:构建输出目录不存在: $SOURCE_DIR${NC}" + exit 1 +fi + +# 步骤 3: 清空目标目录 +echo -e "${YELLOW}[2/3] 正在清空目标目录...${NC}" +if [ -d "$TARGET_DIR" ]; then + rm -rf "${TARGET_DIR:?}/"* + echo -e "${GREEN}✓ 已清空: $TARGET_DIR${NC}" +else + echo -e "${YELLOW}目标目录不存在,正在创建...${NC}" + mkdir -p "$TARGET_DIR" + echo -e "${GREEN}✓ 已创建: $TARGET_DIR${NC}" +fi +echo "" + +# 步骤 4: 复制文件 +echo -e "${YELLOW}[3/3] 正在复制文件到目标目录...${NC}" +cp -r "$SOURCE_DIR/"* "$TARGET_DIR/" + +if [ $? -eq 0 ]; then + echo -e "${GREEN}✓ 文件复制成功${NC}" +else + echo -e "${RED}文件复制失败!${NC}" + exit 1 +fi + +echo "" +echo -e "${GREEN}========================================${NC}" +echo -e "${GREEN} 部署完成!${NC}" +echo -e "${GREEN}========================================${NC}" +echo -e "目标目录: ${TARGET_DIR}"