使用宝塔Webhook自动同步Git仓库

服务器操作

1、服务器创建新文件夹  /www/wwwroot/abc
2、在/www/wwwroot/abc拉取远程Github或Gitee项目

git clone https://xxxxx/def.git

3、新建密匙

ssh-keygen -t rsa

4、查看并复制公钥 

cat /root/.ssh/id_rsa.pub

5、宝塔左侧软件管理-webhook-新建,保存


#!/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项目路径  上面创建的abc目录
gitPath="/www/wwwroot/abc"
#git 两种地址都可以
gitHttp="http://xxxx/def.git"
#gitHttp="[email protected]:xxxx/def.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

6、看到这样界面,点击查看密钥

7、复制

http://105.111.222.333:1234/hook?access_key=V1Viy****************nv8qaUZt9&param=aaa

=================分隔线==================

Gitee/Github操作

1、添加公钥

服务器操作第4步复制的公钥

2、添加webhook

服务器操作第7步复制的代码

猜你喜欢

转载自blog.csdn.net/sinat_37390744/article/details/107979140