宝塔创建webhook

要配置webhook首先要连接git仓库;
建议使用ssh连接,因为ssh连接是常驻连接,http连接每次都要输入账号密码

先在本地生成公钥秘钥

ssh-keygen -t ed25519 -C "Gitee SSH Key"

读取公钥

cat ~/.ssh/id_ed25519.pub

将公钥配置到gitee(我用的是gitee)
参考地址:https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE
然后添加路由

git add remote origin git@gitee.com:xxxxx/xxxx.git

宝塔下载webhook
配置地址

#!/bin/bash
 
#私有库载入私钥
 sudo ssh-agent bash
 sudo ssh-add ~/.ssh/id_rsa
 sudo ssh-add -l |cat
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/$1"
#git 网址两种方式都可以ssh 或者https
gitHttp="git@gitee.com:xxxxxx/$1.git"
echo "Web站点路径:$gitPath,git地址:$gitHttp"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
  cd $gitPath
  #判断是否存在git目录
  if [ ! -d ".git" ]; then
    echo "在该目录下克隆 git"
    sudo git clone $gitHttp gittemp
    sudo mv gittemp/.git .
    sudo mv gittemp/* .
    sudo rm -rf gittemp
  fi
  echo "拉取最新的项目文件"
  #sudo git reset --hard origin/master
  #sudo git pull
  sudo -u root git pull origin master
  echo "设置目录权限"
  sudo chown -R www:www $gitPath
  echo "End"
  exit
else
  echo "该项目路径不存在"
  echo "新建项目目录"
  mkdir $gitPath
  cd $gitPath
  #判断是否存在git目录
  if [ ! -d ".git" ]; then
    echo "在该目录下克隆 git"
    sudo git clone $gitHttp gittemp
    sudo mv gittemp/.git .
    sudo mv gittemp/* .
    sudo rm -rf gittemp
  fi
  echo "拉取最新的项目文件"
  #sudo git reset --hard origin/master
  sudo git pull
  echo "设置目录权限"
  sudo chown -R www:www $gitPath
  echo "End"
  exit
fi

测试
https://xxx.xxx.xxx.xxx:8888/hook?access_key=xxxxxxxxxxxxx&param=xxxx

image.png

完工!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。