网页自动化部署(webhook方法)

实现步骤:

  1. 宝塔安装宝塔WebHook 2.5插件。

  2. github 上配置网页仓库(或可在服务器的网页根目录clone)。

  3. 配置宝塔WebHook 2.5

    • 添加hook脚本;

    • 编辑添加syncJC脚本;
bash 复制代码
#!/bin/bash
# 定义网站根目录
WEBROOT="/www/wwwroot/jessi53"
# 定义日志文件路径
LOGFILE="/www/server/panel/plugin/webhook/log/webhook.log"

# 设置 HOME 环境变量
export HOME=/root

# 将调试信息写入日志文件
echo "[$(date)] Webhook triggered. Starting deployment process..." >> $LOGFILE

# 切换到网站根目录
echo "[$(date)] Switching to directory: $WEBROOT" >> $LOGFILE
cd $WEBROOT

# 设置 Git 安全目录
echo "[$(date)] Setting Git safe directory: $WEBROOT" >> $LOGFILE
git config --global --add safe.directory $WEBROOT >> $LOGFILE 2>&1
git config --system --add safe.directory $WEBROOT >> $LOGFILE 2>&1

# 检查是否是 Git 仓库
if [ -d "$WEBROOT/.git" ]; then
    echo "[$(date)] Fetching latest changes from GitHub..." >> $LOGFILE
    git fetch origin >> $LOGFILE 2>&1
    echo "[$(date)] Resetting local branch to match remote branch..." >> $LOGFILE
    git reset --hard origin/main >> $LOGFILE 2>&1
else
    echo "[$(date)] Initializing Git repository and pulling latest changes..." >> $LOGFILE
    git init >> $LOGFILE 2>&1
    git remote add origin https://github.com/Jsvi53/jessi53.git >> $LOGFILE 2>&1
    git fetch origin >> $LOGFILE 2>&1
    git reset --hard origin/main >> $LOGFILE 2>&1
fi

# 设置目录权限
echo "[$(date)] Setting permissions for: $WEBROOT" >> $LOGFILE
chown -R www:www $WEBROOT >> $LOGFILE 2>&1

# 将请求体写入日志文件
echo "[$(date)] Webhook triggered. Pulled latest changes from GitHub." >> $LOGFILE

注意,网站的根目录为jessi53。

以上,宝塔上webhook配置完毕,可点击测试进行测试,然后查看log

  1. 配置github 上的 WebHooks:

开启ssl,开启导致配置不成功,不知道为什么。

以上配置完成,即可。

相关推荐
人鱼传说1 分钟前
docker desktop是一个好东西
运维·docker·容器
阿梦Anmory35 分钟前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
北京耐用通信40 分钟前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同
人工智能·科技·物联网·网络协议·自动化·信息与通信
呉師傅1 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
heartbeat..1 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊1 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
消失的旧时光-19432 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源2 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti