当前位置:首页 > 其他 > 宝塔WebHook中自动git拉取没有反应解决方法

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

宝塔WebHook中自动git拉取没有反应解决方法

原创 2022-04-27 其他 22
分享给朋友:

webhooks_1000.png 

一般在宝塔插件WebHook中配置git web 钩子的shell脚本如下:【脚本来源官方示例】

#!/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
#git项目路径
gitPath="/www/wwwroot/web/$1"
#git 网址
gitHttp="http://git.xxxxx.com/web/$1.git"

echo "Web站点路径:$gitPath"

#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git .
                rm -rf gittemp
        fi
        #拉取最新的项目文件
        git reset --hard origin/master
        git pull
        #设置目录权限
        chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

但是最近遇到一个比较奇怪的问题,所有操作都完成后,无论怎么测试,git pull一直都不会执行,也没有报错

无奈,最后自己写了一个脚本:

新建一个 /opt/shell/auto-git-pull.sh 脚本(路径可以自定义)

脚本内容如下

#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"

echo "$1"

#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];then 
        echo "param ERROR"
        echo "End"
        exit
fi
#git项目路径 可以按照实际路径修改
gitPath="/www/wwwroot/$1"

echo "Web站点路径:$gitPath"

#判断项目路径是否存在
if [ -d "$gitPath" ];then
        cd $gitPath
        #拉取最新的项目文件
        sudo git pull
        #设置目录权限
        chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

然后在WebHook插件中写入

/usr/bin/sh /opt/shell/auto-git-pull.sh $1 > /www/wwwlogs/auto-git-pull.log

随后测试,git pull有记录了

2022-04-27 11:22:14
Start
your_path
Web站点路径:/www/wwwroot/your_path
Updating 38aad3fc..e1c51865
Fast-forward
 xxxxxxxxxxxxxxxxx | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)
End



声明:版权所有,违者必究 | 如未注明,均为原创 | 本网站采用 BY-NC-SA 协议进行授权

转载:转载请注明原文链接,违者必究 - :https://www.wolfcode.net/info/238/

分享给朋友:

相关文章

推荐一款出色的SSH工具

​Tabby是一款可无限定制的跨平台终端应用,用于本地shell、串行、SSH和Telnet连接。支持SFTP。

一个简单的Golang代码,监控windows进程退出并自动重启

只要修改processName 为你所需要的进程exeprocessName_path 为你所需要的进程路径package main import (     "bytes"   

强烈推荐:一个快速处理json的第三方包

该第三方包采用go语言开发:先来看看官方的案例:package main import "github.com/tidwall/sjson" const json = `{"name":{&quot

gocron数据库表和字段字符集转换为utf8mb4

gocron_sql_convert_to_utf8mb4因为 gocron - 定时任务管理系统 默认表和字段字符集是utf8(也就是utf8mb3),所以在现下很多数据存储会有问题,最为突出的就是emoji表情写了一个简单的转换sql:git地址 有用到的小伙伴可以拿去直接转换

为集群搭建一个定时任务集中调度系统

集群任务下,很多服务器的定时任务都单独集中在相对应的服务器crontab下,即使现在有了类似于宝塔之类的面板,但是定时任务还是得每台服务器单独登入后去配置。是否可以单独在一台机子上,控制所有的集群定时任务呢?答案是肯定的!!!gocron就可以做到,之前博主分享过单机搭建定时任务管理系统,那现在,我

Linux 日志清理

磁盘占用90%,占用过多,分析日志查看原因

如何在Linux上做一个定时任务管理系统

gocron,使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab

Nginx 自动生成日志备份

Nginx网站访问日志数据会随着访问量的增加而日益庞大,以下介绍一个简单的脚本,自动切割备份过往日期日志数据

3月18日,多年的老站终于破了1.5W的PV

从最早的建站初心是为了自己方便,从fivefilm.com到30942.com,有网友说域名不好记,索性注册了看个蛋(kangedan.com)的域名。6年多的时间(我也是随性等得起)0推广,纯自然流量!今天看了下PV记录,有点被吓到!特别纪念一下,之前都是几千IP,封顶也没超过1.5W。

如果你懂得用Excel,微软Power Fx助你成为一名优秀的程序员

在程序员的世界中,打开第一扇门永远是Hello World!这是Power Fx的一段最基础的语法。微软宣布推出新的开源编程语言 Power Fx,一种基于 Microsoft Excel 的低代码公式语言;将可以在整个 Microsoft Power Platform 中进行使用。该语言背后的动机