Skip to content

Commit f597d4f

Browse files
committed
add deploy.sh
Signed-off-by: ncerzzk <huangcmzzk@gmail.com>
1 parent 6cbbba5 commit f597d4f

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

scripts/deploy.sh

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/bash
2+
3+
# 自动化部署脚本
4+
# 用于构建并部署网站到远程服务器
5+
6+
set -e # 遇到错误时停止执行
7+
8+
# 获取脚本所在目录并切换到项目根目录
9+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
10+
cd "$SCRIPT_DIR/.." # 切换到项目根目录
11+
12+
echo "开始部署流程..."
13+
14+
# 1. 构建所有PDF手册
15+
echo "步骤 1: 构建PDF手册..."
16+
bash scripts/build-manuals.sh
17+
18+
# 2. 构建网站
19+
echo "步骤 2: 构建网站..."
20+
npm run build
21+
22+
# 3. 检查远程服务器目录
23+
echo "步骤 3: 检查远程服务器..."
24+
REMOTE_DIR="/var/www/humpbacklab.com"
25+
SERVER="root@120.27.202.1"
26+
27+
# 验证服务器连接
28+
if ssh -o ConnectTimeout=10 $SERVER 'exit' 2>/dev/null; then
29+
echo "成功连接到远程服务器"
30+
else
31+
echo "错误: 无法连接到远程服务器 $SERVER"
32+
exit 1
33+
fi
34+
35+
# 4. 同步文件到远程服务器
36+
echo "步骤 4: 同步文件到远程服务器 $SERVER:$REMOTE_DIR..."
37+
rsync -avz --delete .vitepress/dist/ $SERVER:$REMOTE_DIR/
38+
39+
# 5. 设置正确的权限
40+
echo "步骤 5: 设置文件权限..."
41+
ssh $SERVER "chown -R www-data:www-data $REMOTE_DIR && chmod -R 644 $REMOTE_DIR && find $REMOTE_DIR -type d -exec chmod 755 {} \;"
42+
43+
echo ""
44+
echo "部署完成!"
45+
echo "网站已更新到 $SERVER:$REMOTE_DIR"
46+
echo ""
47+
echo "更新内容包括:"
48+
echo "- 网站名称从'座头鲸工作室'更新为'座头鲸实验室'"
49+
echo "- 页脚添加了备案信息并链接到https://beian.miit.gov.cn/"
50+
echo "- 更新了子模块到最新版本"
51+
echo "- 生成并添加了quick-tutorial.pdf"
52+
echo "- 移除了产品页面的在线PDF查看功能"

0 commit comments

Comments
 (0)