部署前端的脚本

#!/bin/bash
# 声明使用Bash shell执行脚本

# 定义常量
PROJECT_NAME="blackboard"   # 项目名称
WORK_DIR="/workspace/nginx" # 工作目录路径

# 获取当前日期和时间戳
current_timestamp=$(date +"%Y%m%d%H%M%S")
# 生成格式为年月日时分秒的时间戳(示例:20250623153045)

cd "$WORK_DIR" || exit 1
# 切换到工作目录,如果失败则退出脚本(exit 1)

# === 备份阶段 =============================================
zip -q -r "${PROJECT_NAME}.${current_timestamp}.zip" "${PROJECT_NAME}/"
# 静默(-q)递归(-r)压缩项目目录,生成带时间戳的备份文件(示例:blackboard.20250623153045.zip)

mv "${PROJECT_NAME}.${current_timestamp}.zip" "${WORK_DIR}/backups"
# 将备份文件移动到备份目录

# === 更新阶段 =============================================
cd "${WORK_DIR}/${PROJECT_NAME}"  # 进入项目目录
unzip -o "${PROJECT_NAME}.zip"    # 解压覆盖(-o)项目ZIP包
rm -rf "${PROJECT_NAME}.zip"      # 删除解压后的ZIP文件

主要功能:

  1. 备份当前项目

    • /workspace/nginx/blackboard目录压缩为带时间戳的ZIP文件

    • 备份文件保存到/workspace/nginx/backups目录(示例:blackboard.20250623153045.zip

  2. 更新项目

    • 进入项目目录/workspace/nginx/blackboard

    • 解压覆盖blackboard.zip文件(可能是新版本)

    • 删除解压后的ZIP文件




部署前端的脚本_第1张图片

你可能感兴趣的:(部署前端的脚本)