宝塔webhook+Gitee配置实现服务器的代码自动同步

发布时间:2024年01月10日

1、服务器安装git

先在服务器查看是否安装git(一般已经默认安装)

git --version

如果 已安装git会打印版本信息,如下:

如果没有安装,在终端输入安装命令:

yum install git

安装完成后,输入git账户信息,并保存

git config --global user.name "用户名"
git config --global user.email 你的邮箱
git config --global user.password 你的密码

git config --global credential.helper store

2、将gitee中项目clone到服务器指定目录

git clone git@gitee.com:**/**.git

3、配置公钥

查看是否有公钥查看~/.ssh下的id_rsa.pub

若没有配置生成

ssh-keygen -t rsa 

查看公钥,获取密钥

cat ~/.ssh/id_rsa.pub

4、为gitee 配置添加公钥

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项目路径 项目代码服务器所在位置路径
gitPath="/www/wwwroot/system-util"
#git 网址 ssh网址避免用https
gitHttp="git@gitee.com:system/system-util.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

配置好后,重启一下宝塔,

/etc/init.d/bt restart

6、gitee中配置webhook

宝塔中查看上一步配置的hook密钥

?配置好后可以在gitee中或者宝塔中测试看是否配置成功

文章来源:https://blog.csdn.net/qianqianNingmeng/article/details/135486694
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。