From 642cb6ed31637942cb4da44313aa5e86a54ba6bf Mon Sep 17 00:00:00 2001 From: lucanlee Date: Sat, 8 Aug 2026 22:28:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E9=83=A8=E8=83=BD=E5=A4=9F=E5=AE=9E?= =?UTF-8?q?=E6=97=B6=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy.sh | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 deploy.sh diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..c96e8b5 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,80 @@ +#!/bin/bash +# 部署脚本 +# 路径: /www/wwwroot/mes2/deploy.sh + +# 配置项 +SOURCE_DIR="/www/wwwroot/mes2" +PUBLIC_DIR="/www/wwwroot/mes2/public" +LOG_FILE="/www/wwwroot/mes2/deploy.log" + +# 记录日志函数 +log_message() { + local timestamp=$(date '+%Y-%m-%d %H:%M:%S') + echo "[$timestamp] $1" >> "$LOG_FILE" +} + +# 解决 Git 2.35.2+ 的「dubious ownership」拦截:把本仓库加入安全目录白名单 +# (Webhook 进程用户与仓库所有者不一致时会 fatal 报错,加这一行即可) +git config --global --add safe.directory "$SOURCE_DIR" 2>/dev/null || true + +# 主逻辑 +log_message "开始部署..." + +# 进入源码目录 +cd "$SOURCE_DIR" || { + log_message "错误: 无法进入源码目录 $SOURCE_DIR" + exit 1 +} + +# 拉取最新代码 +log_message "拉取最新代码..." +git -c safe.directory="$SOURCE_DIR" pull origin main +if [ $? -eq 0 ]; then + log_message "代码拉取成功" +else + log_message "错误: 代码拉取失败" + exit 1 +fi + +# 安装依赖(如果需要) +# log_message("安装依赖...") +# npm install +# if [ $? -eq 0 ]; then +# log_message("依赖安装成功") +# else +# log_message("错误: 依赖安装失败") +# exit 1 +# fi + +# 构建项目(如果需要) +# log_message("构建项目...") +# npm run build +# if [ $? -eq 0 ]; then +# log_message("项目构建成功") +# else +# log_message("错误: 项目构建失败") +# exit 1 +# fi + +# 复制到运行目录(如果需要) +# log_message("复制到运行目录...") +# cp -r dist/* "$PUBLIC_DIR"/ +# if [ $? -eq 0 ]; then +# log_message("文件复制成功") +# else +# log_message("错误: 文件复制失败") +# exit 1 +# fi + +# 重启服务(如果需要) +# log_message("重启服务...") +# systemctl restart nginx +# if [ $? -eq 0 ]; then +# log_message("服务重启成功") +# else +# log_message("错误: 服务重启失败") +# exit 1 +# fi + +log_message "部署完成!" +exit 0 \ No newline at end of file