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

团队协作离不开git仓库,今天来给大家介绍一下配置宝塔上面的web hooks ,实现将本地代码提交到码云仓库后自己 更新到云服务器

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了深泽免费建站欢迎大家使用!

一、在宝塔面板中的软件中安装”宝塔WebHook”,没有安装的直接点安装就行

二、生成公钥(私有仓库一定要配置)

直接根据提示,回车下一步就行

ssh-keygen -t rsa

三,查看公钥,并复制到码云gitee仓库

cat /root/.ssh/id_rsa.pub

四、创建webhooks脚本

名称随便起就行

执行脚本可以参考以下,注意$1 git 仓库最好和文件夹一致,如果不一致,可以根据自己的情况改一下下面的代码

#!/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/$1"
#git 网址两种方式都可以ssh 或者https
gitHttp="https://gitee.com/xxx/$1.git"
#gitHttp="git@gitee.com:xxx/$1.git"
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                sudo git clone $gitHttp gittemp
                sudo mv gittemp/.git .
                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
else
        echo "该项目路径不存在"
        echo "新建项目目录"
        mkdir $gitPath
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                sudo git clone $gitHttp gittemp
                sudo mv gittemp/.git .
                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

点击查看秘钥,复制脚本地址和秘钥

然后到码云配置webhook

选择事件根据自己的情况选择即可

创建完后,我们可以看到他默认请求了一次,也可以自己进行测试,直接点后面的测试即可,然后点击下面的查看更多,可以查看更多的详细信息


然后我们回到宝塔刷新查看webhook 日志,可以看到已经调用了两次了

注意事项

如果webhook执行了,查看推送过来的代码并没有创建成功,很有可能是权限的问题

我们尝试手动拉取一次,提示gitee.com 不可信,这下找到原因了,直接根据提示输入yes 即可,后面的就可以实时的推送过来了

The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
ECDSA key fingerprint is MD5:27:e5:d3:f7:2a:9e:eb:6c:93:cd:1f:c1:47:a3:54:b1.
Are you sure you want to continue connecting (yes/no)?

新闻标题:如何使用宝塔Webhook自动同步Git仓库
标题来源:http://www.36103.cn/qtweb/news5/13405.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联