
面板、插件版本: v11.0.0 、宝塔WebHook 2.5
系统版本:Ubuntu 24
问题描述:
首次在服务器上部署宝塔后,在宝塔webhook中设置以下内容:
echo "-----------------------------------------------"
dirpath="/www/wwwroot/{path}"
echo "开始时间:" $(date '+%Y-%m-%d %H:%M:%S')
echo "当前执行用户是: $(whoami)"
echo '分支:develop'
echo "Git 版本:$(git --version)"
echo "当前目录:" $(pwd)
echo "切换到目录:" $dirpath
cd $dirpath 2>&1
echo "拉取代码"
git pull origin develop 2>&1
echo "结束时间:" $(date '+%Y-%m-%d %H:%M:%S')
根据生成的密钥和链接 在git仓库环境中的webhooks中新建,来实现代码自动拉取的功能,一切很顺利。
然而在一次异常情况下,服务器重启了,一切都改变了,钩子触发后,在宝塔webhook中的日志里面,拉取代码操作报错了:
fatal: detected dubious ownership in repository at '/www/wwwroot/{path}'
To add an exception for this directory, call:
git config --global --add safe.directory /www/wwwroot/{path}
好吧,有报错信息,就可以根据异常来解决问题。
然后就是百度,AI提问,根据提示一步步排除
已排查项”
1、脚本执行用户和设置安全目录的用户 是同一个用户
2、设置安全目录
3、git config --global --get-all safe.directory 查看已设置的目录
4、检查.git的权限
5、在宝塔控制台上重启服务器、重启面板
通过一系列操作,结果呢,还是报错依旧,没办法就去找客服,想多了!!!问题依旧没解决。
就这样一直持续了好久,拉取代码都是手动在服务器上的终端上手打命令:git pull origin develop
好麻烦啊!!! 有时候都回家好久了,突然让同步代码,但是没办法,拿起电脑操作吧。。。
运气使然!
面板密码要更新,在终端上执行:bt 出现宝塔提供的各种操作选项,修改完密码后,也看到了重启面板选项,抱着试试的态度。
重启后点击宝塔webhook面的的测试,没想到可以了,真是个大无语,问题解决了,但是过程真的是波折。
总结:
在webhook执行git命令,如果出现权限问题,可以先根据上面排查项操作一下,
如果不可以,那就需要在终端通过命令行的方式 执行 bt restart
来重启宝塔,或者先执行bt
后输入选项号来重启。