1、宝塔安装webhook服务

f185178937e4b199ce77908d59338802.png

2、添加webhook

标题自定义,执行脚本如下。添加完成后会得到一个GET/POST地址和密钥

03d79ce3aa4fd0c54fca2efc9923fb48.png

#!/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
# 添加自定义的邮箱发送接口
curl https://www.xxx.com/xxx/send?title=来自lucas-exam的git操作
# 判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then 
          echo "param参数错误"
          echo "End"
          exit
fi
# git项目路径
gitPath="/www/wwwroot/xxx"
# git 网址
gitHttp="git@gitee.com:xxx/xxx.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

3、gitee中添加钩子

f811b75a385dd678943d537954e0f678.png

4、配置SSH

私有项目需要添加个人公钥

9a550d7ee1c4d1b5af8d76022fea7ede.png

如果电脑没有配置ssh,可以按照下图执行生成命令,并将id_rsa.pub文件内容复制到gitee公钥配置中。

ssh-keygen -t rsa -C "你的邮箱地址@xxx.com"

3ba29ff8043e982d5a3edc2e28a29047.png

5、测试

在gitee的webhook中点击“测试”,查看宝塔中的日志,同时注意是否有接收到邮件

38590b76f454fc5ff625bc2cf5239301.png

注:以后这个项目在本地push成功到码云Git上的时候,码云Git将会回调刚刚配置的POST地址,服务器上的宝塔WebHook接收到POST的时候,会执行刚刚你编写的脚本,然后会自动pull下来

ad14dc627868f7bbe02ba57bab80ee28.png

最后修改:2024 年 11 月 19 日
如果觉得我的文章对你有用,请随意赞赏