当前位置:论坛首页 > Linux面板 > 求助

【疑难】webhook插件2.1版本绝对有问题,无法git同步

发表在 Linux面板2023-2-24 23:58 [复制链接] 4 2529

宝塔webhook自动同步gitee代码都服务器,脚本有执行,但是没有同步代码。单独把脚本代码放在终端执行可成功同步代码,没有报错。
webhook版本2.1
git 版本1.8.3.1私有仓库自动同步得问题,有塔友谁成功了吗
  1. #!/bin/bash
  2.   
  3. echo ""
  4. #输出当前时间
  5. date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
  6. echo "Start"
  7. #判断宝塔WebHook参数是否存在
  8. if [ ! -n "$1" ];
  9. then
  10.           echo "param参数错误"
  11.           echo "End"
  12.           exit
  13. fi
  14. #git项目路径
  15. gitPath="/www/wwwroot/$1"
  16. #git 网址两种方式都可以ssh 或者https
  17. gitHttp="https://gitee.com/xxx/$1.git"
  18. #gitHttp="git@gitee.com:xxx/$1.git"
  19. echo "Web站点路径:$gitPath"
  20. #判断项目路径是否存在
  21. if [ -d "$gitPath" ]; then
  22.         cd $gitPath
  23.         #判断是否存在git目录
  24.         if [ ! -d ".git" ]; then
  25.                 echo "在该目录下克隆 git"
  26.                 sudo git clone $gitHttp gittemp
  27.                 sudo mv gittemp/.git .
  28.                 sudo rm -rf gittemp
  29.         fi
  30.         echo "拉取最新的项目文件"
  31.         #sudo git reset --hard origin/master
  32.         sudo git pull        
  33.         echo "设置目录权限"
  34.         sudo chown -R www:www $gitPath
  35.         echo "End"
  36.         exit
  37. else
  38.         echo "该项目路径不存在"
  39.         echo "新建项目目录"
  40.         mkdir $gitPath
  41.         cd $gitPath
  42.         #判断是否存在git目录
  43.         if [ ! -d ".git" ]; then
  44.                 echo "在该目录下克隆 git"
  45.                 sudo git clone $gitHttp gittemp
  46.                 sudo mv gittemp/.git .
  47.                 sudo rm -rf gittemp
  48.         fi
  49.         echo "拉取最新的项目文件"
  50.         #sudo git reset --hard origin/master
  51.         sudo git pull
  52.         echo "设置目录权限"
  53.         sudo chown -R www:www $gitPath
  54.         echo "End"
  55.         exit
  56. fi
复制代码




使用道具 举报 只看该作者 回复
发表于 2023-4-29 13:31:18 | 显示全部楼层
今天也碰到这个问题,所以到论坛看下有没有帮助,经测试已解决,遇到脚本执行但是git未成功拉取,就是说hook的脚本本身执行了,但里面的git语句可能没有执行成功。
这个可以查看一下宝塔面板的日志页面看是否有报错,我看了我的有如下错误信息:plugin/webhook/script/SVZFIlmWJWdORrjqw5zqiRKZWA1LOALT9l15OjS3jvL9Y9pR: line 30: git: command not found,这个报错信息,而定位的那行代码正好是调用git的语句。
但是在终端直接运行git这句代码正常,所以怀疑在脚本里面调用不到git命令。
使用whereis git命令查找到git文件实际路径,我的为/usr/local/git/bin/git,运行/usr/local/git/bin/git --version正常输出版本为2.34.1。
用完整路径/usr/local/git/bin/git替换掉脚本中的git字符串,重新运行hook脚本,这次成功拉取了git仓库文件。
使用道具 举报 回复 支持 1 反对 0
发表于 2023-3-13 09:32:17 | 显示全部楼层
宝塔webhook自动同步gitee代码
使用道具 举报 回复 支持 反对
发表于 2023-3-14 09:49:46 | 显示全部楼层
webhook同步代码的时候,走到第一个if判断那里就不执行了,参数也配置的有,不知道是咋回事啊
使用道具 举报 回复 支持 反对
发表于 2023-4-29 13:27:32 | 显示全部楼层
查看是否是在脚本里未成功调用git命令,可以看下宝塔面板日志页面运行日志里面是否有报错信息,或者使用whereis git命令查到git文件路径,直接把脚本里的git改成全路径试一试,我就是这么解决的
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表