#!/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)  # 生成临时目录

# 清理临时目录的函数（在脚本退出时执行）
cleanup() {
  rm -rf "$TEMP_DIR"
}
trap cleanup EXIT

echo "开始下载最新构建产物..."
curl -L -o "$TEMP_DIR/artifact.zip" "$REPO_URL/-/jobs/artifacts/main/download?job=build"

# shellcheck disable=SC2181
if [ $? -ne 0 ]; then
  echo "下载失败，请检查网络连接或重新尝试。"
  exit 1
fi

# 检查 unzip 是否可用，不可用时自动安装
if ! command -v unzip &> /dev/null; then
  echo "unzip 未安装，开始安装 ···"
  if command -v apt-get &> /dev/null; then
    sudo apt-get update
    sudo apt-get install -y unzip
  elif command -v yum &> /dev/null; then
    sudo yum install -y unzip
  else
    echo "无法安装 unzip，请手动安装。"
    exit 1
  fi
fi

echo "解压文件..."
unzip -q "$TEMP_DIR/artifact.zip" -d "$TEMP_DIR"

# 确保目标目录存在
sudo mkdir -p "$TARGET_DIR"

echo "清空目标目录..."
sudo rm -rf "$TARGET_DIR"/*

echo "移动文件到目标目录..."
sudo mv "$TEMP_DIR/$DIST_DIR"/* "$TARGET_DIR"

echo "部署完成！"
