release.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/bash
  2. # 设置脚本在遇到错误时退出
  3. set -e
  4. # 获取当前日期时间,格式:YYYY-MM-DD_HH-MM-SS
  5. TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
  6. # 定义路径
  7. TARGET_DIR="../nginx-website/fehelper"
  8. BACKUP_DIR="../backup.release"
  9. SOURCE_DIR="./website"
  10. echo "🚀 开始部署 website..."
  11. # 1. 检查并备份现有目录
  12. if [ -d "$TARGET_DIR" ]; then
  13. echo "📦 发现现有目录,正在创建备份..."
  14. # 创建备份目录(如果不存在)
  15. mkdir -p "$BACKUP_DIR"
  16. BACKUP_NAME="fehelper.${TIMESTAMP}.zip"
  17. BACKUP_PATH="${BACKUP_DIR}/${BACKUP_NAME}"
  18. # 切换到目标目录的父目录进行打包
  19. cd "../nginx-website"
  20. zip -r "$BACKUP_PATH" "fehelper" > /dev/null 2>&1
  21. cd - > /dev/null
  22. echo "✅ 备份已创建: $BACKUP_PATH"
  23. # 删除现有目录
  24. echo "🗑️ 删除现有目录..."
  25. rm -rf "$TARGET_DIR"
  26. else
  27. echo "ℹ️ 目标目录不存在,跳过备份步骤"
  28. fi
  29. # 2. 检查 website 目录是否存在
  30. if [ ! -d "$SOURCE_DIR" ]; then
  31. echo "❌ 错误: website 目录不存在!"
  32. exit 1
  33. fi
  34. # 3. 创建目标目录
  35. echo "📁 创建目标目录..."
  36. mkdir -p "$TARGET_DIR"
  37. # 4. 拷贝 website 下所有内容到目标目录
  38. echo "📤 拷贝 website 下所有内容到目标目录..."
  39. cp -r "$SOURCE_DIR"/. "$TARGET_DIR"/
  40. echo "✅ 部署完成!"
  41. echo "📍 部署位置: $TARGET_DIR"
  42. # 显示目录内容
  43. echo ""
  44. echo "📋 部署文件列表:"
  45. ls -la "$TARGET_DIR"