release.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. else
  24. echo "ℹ️ 目标目录不存在,跳过备份步骤"
  25. # 2. 创建目标目录
  26. echo "📁 创建目标目录..."
  27. mkdir -p "$TARGET_DIR"
  28. fi
  29. # 3. 检查 website 目录是否存在
  30. if [ ! -d "$SOURCE_DIR" ]; then
  31. echo "❌ 错误: website 目录不存在!"
  32. exit 1
  33. fi
  34. # 4. 拷贝 website 下所有内容到目标目录
  35. echo "📤 拷贝 website 下所有内容到目标目录..."
  36. cp -r "$SOURCE_DIR"/. "$TARGET_DIR"/
  37. echo "✅ 部署完成!"
  38. echo "📍 部署位置: $TARGET_DIR"
  39. # 显示目录内容
  40. echo ""
  41. echo "📋 部署文件列表:"
  42. ls -la "$TARGET_DIR"