当前位置: 首页 > news >正文

宝塔webHook自动拉取代码脚本---前端编译

#!/bin/bash
su - www
echo ""
echo "=========================================="
echo "$(date '+%Y-%m-%d %H:%M:%S') 开始部署"
echo "=========================================="# 定义日志文件
LOG_FILE="/tmp/deploy_financial_vue.log"
echo "日志文件: $LOG_FILE" | tee -a $LOG_FILE# 记录执行用户
echo "当前用户: $(whoami)" | tee -a $LOG_FILE
echo "当前目录: $(pwd)" | tee -a $LOG_FILE# 进入项目目录
TARGET_DIR="/www/wwwroot/vue-project-source/kcy_front"
echo "切换到目录: $TARGET_DIR" | tee -a $LOG_FILEif [ ! -d "$TARGET_DIR" ]; thenecho "错误: 目录不存在 $TARGET_DIR" | tee -a $LOG_FILEexit 1
ficd "$TARGET_DIR"
echo "当前目录: $(pwd)" | tee -a $LOG_FILE# 检查git状态
echo "=== Git 状态 ===" | tee -a $LOG_FILE
git status | tee -a $LOG_FILEecho "=== 远程仓库 ===" | tee -a $LOG_FILE
git remote -v | tee -a $LOG_FILEecho "=== 开始拉取代码 ===" | tee -a $LOG_FILE
# 拉取代码,捕获详细输出
GIT_OUTPUT=$(git pull origin main 2>&1)
GIT_EXIT_CODE=$?echo "Git 退出码: $GIT_EXIT_CODE" | tee -a $LOG_FILE
echo "Git 输出: $GIT_OUTPUT" | tee -a $LOG_FILEif [ $GIT_EXIT_CODE -eq 0 ]; thenecho "✅ Git 拉取成功" | tee -a $LOG_FILE
elseecho "❌ Git 拉取失败" | tee -a $LOG_FILEecho "尝试使用强制拉取..." | tee -a $LOG_FILE# 尝试重置和强制拉取git fetch --all | tee -a $LOG_FILEgit reset --hard origin/main | tee -a $LOG_FILEgit pull origin main | tee -a $LOG_FILE
fi# 检查文件变化
echo "=== 文件变更 ===" | tee -a $LOG_FILE
git diff --name-only HEAD~1 HEAD | tee -a $LOG_FILE# 更新npm
echo "=== npm update ==="  | tee -a $LOG_FILE
npm update# 打包,并输出到相关目录
echo "=== npm run build --output-dir=/www/wwwroot/kcyv2.sg199.net ==="  | tee -a $LOG_FILE
npm run build --output-dir=../../kcyv2.sg199.net  | tee -a $LOG_FILE# cp打包好的项目到另外的目录
COPY_DIR="/www/wwwroot/kcyv2.sg199.net/"
echo "切换到目录: $COPY_DIR" | tee -a $LOG_FILE
cd "$COPY_DIR"
echo "当前目录: $(pwd)" | tee -a $LOG_FILE
echo "复制目录文件到v2.sg199.net"
cp -rf ./ ../v2.sg199.net/echo "=========================================="
echo "$(date '+%Y-%m-%d %H:%M:%S') 部署完成"
echo "==========================================" | tee -a $LOG_FILE# 检查PHP环境
if [ -f "package.json" ]; thenecho "检测到 package.json" | tee -a $LOG_FILEnpm -v | tee -a $LOG_FILE
fi

  

http://www.jsqmd.com/news/543644/

相关文章:

  • 从MFCC到LFCC与CQCC:基于librosa的音频特征提取进阶实践
  • AI编程助手隐私安全怎么做?opencode离线运行部署实战
  • 突破语言壁垒:XUnity.AutoTranslator的创新解决方案
  • 数据主权视角下的微信聊天记录管理方案:WeChatMsg技术实践指南
  • 【从零开始】手写BLE协议栈(0-1)开篇与硬件选型
  • FastAPI 2.0流式响应为何卡在3.2s?架构设计图曝光底层uvicorn worker阻塞链路,3步优化实现端到端<200ms延迟
  • 如何通过自动化工具高效获取阴阳师游戏资源?完整实践指南
  • OpenClaw多端同步:Qwen3-VL:30B在飞书移动端与PC端的体验
  • Java高级工程师金三银四面试题总结及参考答案
  • 5大核心技术揭秘:LibreCAD如何构建免费开源的2D CAD解决方案
  • YOLOv11涨点改进| MICCAI 2025 | 全球独家创新、特征融合改进篇| 引入DSEB双选择增强融合模块,通过边缘增强与差分注意力机制联合建模特征,适合医学图像分割、目标检测、语义分割涨点
  • 面试必备:Floyd判圈法在链表环检测中的5种应用场景(附LeetCode真题解析)
  • Local SDXL-Turbo实战案例:独立游戏开发者实时生成UI图标变体
  • 软考真题:信息系统项目管理师 2025年上半年(第1批) 综合知识
  • 3步完成Logisim-evolution开源工具安装:跨平台数字电路设计效率指南
  • OpenClaw智能提醒:nanobot生日管家实战开发
  • 云容笔谈惊艳案例:二十四节气系列人像,AI理解‘惊蛰’‘霜降’等文化隐喻
  • 如何轻松解决Unity WebGL输入法难题:5分钟快速配置指南
  • Outfit字体:现代品牌设计的几何无衬线字体解决方案
  • LFM2.5-1.2B-Thinking-GGUF入门必看:为什么轻量模型+Thinking机制更适合确定性任务
  • MacBook Pro本地部署OpenClaw:百川2-13B量化模型7×24小时运行方案
  • LFM2.5-1.2B-Thinking-GGUF镜像免配置:内置GGUF+llama.cpp+Web UI三位一体开箱即用
  • 5个高效技巧:用VRM-Addon-for-Blender实现专业级虚拟角色制作
  • PT-Plugin-Plus完全指南:提升种子下载效率的5个实用技巧
  • 突破百度网盘限速:从问题诊断到性能优化的实战全攻略
  • 【漏洞扫描】Acunetix Premium(AWVS) v23.9.23 高级版(从零开始实战部署指南)
  • 工业相机+OpenCV+PyTorch产线部署卡顿诊断手册(97%工程师忽略的内存对齐陷阱)
  • 三相四线制逆变:采用SPWM调制方式,增强相电压不平衡控制,24k开关频率,正弦查表技术
  • 避坑指南:ESTUN Editor安装后,TP虚拟示教器bricks.ini配置文件到底在哪?
  • Qwen3-0.6B-FP8惊艳案例:用思维模式推导物理公式,非思维模式讲给小学生听