优化部署脚本,添加严格模式和临时目录处理,确保目标目录清空后再移动文件

This commit is contained in:
2025-03-13 16:06:21 +08:00
parent d45d3c08e7
commit fd4e175f9a

View File

@@ -1,20 +1,33 @@
#!/bin/bash
# 开启严格模式
set -e
# 定义变量
REPO_URL="https://git.sugarscat.cn/me/note"
TARGET_DIR="/var/www/note"
DIST_DIR=".vitepress/dist"
TEMP_DIR=$(mktemp -d) # 生成临时目录
# 下载最新构建产物
curl -L -o artifact.zip "$REPO_URL/-/jobs/artifacts/main/download?job=build"
# 清理临时目录的函数(在脚本退出时执行)
cleanup() {
rm -rf "$TEMP_DIR"
}
trap cleanup EXIT
# 解压产物
unzip artifact.zip -d artifact
echo "开始下载最新构建产物..."
curl -L -o "$TEMP_DIR/artifact.zip" "$REPO_URL/-/jobs/artifacts/main/download?job=build"
# 移动文件到目标目录
sudo mv artifact/$DIST_DIR/* $TARGET_DIR
echo "解压文件..."
unzip -q "$TEMP_DIR/artifact.zip" -d "$TEMP_DIR"
# 清理文件
rm -rf artifact.zip artifact
# 确保目标目录存在
sudo mkdir -p "$TARGET_DIR"
echo "操作完成!"
echo "清空目标目录..."
sudo rm -rf "$TARGET_DIR"/*
echo "移动文件到目标目录..."
sudo mv "$TEMP_DIR/$DIST_DIR"/* "$TARGET_DIR"
echo "部署完成!"