使用hooks自动监测git仓库更改并拉取

it2024-04-20  3

我们在务器上使用宝塔进行操作,使用宝塔比较直接,可视化,各种操作和安装东西很方便(如果只是想安装一些东西,快速搭建),后面也会继续使用宝塔为网站安装https证书,使用Let's Encrypt

申请免费的证书并配置

首先在软件商店搜索webhookl安装,添加,名称自定以,执行脚本根据下面的自己更改(如果执行没有效果可以自行根据自己的环境及情况更改,每次回调日志可以在宝塔中看到)

#!/bin/bash echo "" #输出当前时间 date --date='0 days ago' "+%Y-%m-%d %H:%M:%S" echo "Start" #判断宝塔WebHook参数是否存在 if [ ! -n "$1" ]; then echo "param参数错误" echo "End" exit fi gitPath="/www/wwwroot/项目目录" #判断项目路径是否存在 if [ -d "$gitPath" ]; then echo "目录存在并进入目录wwwroot" cd $gitPath git fetch --all git reset --hard origin/master git pull echo "设置目录组合拥有者" sudo chown -R www:www $gitPath echo "设置目录权限" sudo chmod -R 755 $gitPath echo "End" exit else echo "该项目路径不存在" echo "新建项目目录" cd /www/wwwroot/ echo "克隆最新的项目文件" git clone 仓库地址 ./项目目录 echo "设置目录组合拥有者" sudo chown -R www:www $gitPath echo "设置目录权限" sudo chmod -R 755 $gitPath cd $gitPath git checkout master echo "End" exit fi

修改完成后到 github 的项目仓库里,setting里的webhooks将宝塔生成的密匙的url添加进去

注意

这一步url的param不一定要跟宝塔一样,这个就是脚本里的$1变量,这个脚本是把自己的仓库名设置为了param,也就是把上面图最后的aaa改为了resp_name.

测试 注意 不要在宝塔里测试,去github仓库里发请求(后面改为了coding,改完bash脚本后最好重启一下宝塔面板)

更改hexo的一些内容,查看travisci部署情况,部署完成查看服务器的仓库是否更新

最新回复(0)