宝塔webhook实现git自动拉取代码

宝塔webhook实现git自动拉取代码

Ezra
2022-02-14 / 0 评论 / 46 阅读 / 正在检测是否收录...

下载webhook

在软件商店里找到webhook下载
kzm3ioj8.png

安装git

yum install git

生成秘钥

ssh-keygen -t rsa -C "your@email.com" -f ~/.ssh/id_rsa_new
查看密钥cat ~/.ssh/id_rsa_new.pub
将生成的秘钥添加到码云
kzm93q11.png

点击webhook设置->添加->输入名称和脚本

kzm4hqca.png
名称要跟码云上的项目名称一致
执行脚本如下

#!/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 网址
gitHttp="https://gitee.com/isu5cn/$1.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

不需要做修改提交就行

配置码云

打开宝塔webhook查看秘钥

kzm4r9ol.png

打开仓库的管理配置webhook

kzm4n7xn.png

将对应配置填写至gitee配置中保存

git配置

cd /www/wwwroot/ 下   //使用git克隆
git clone https://gitee.com/xxxx/自己的项目名称.git  //码云里有克隆链接,避免出现错误,使用https方式

git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --global credential.helper store

//会生成.gitconfig 的文件,查看
cat ~/.gitconfig  //显示内容

[user]
        name = 输入的用户名
        email = 输入的邮箱
[credential]
        helper = store
//第一次pull会提示输入用户名密码
[root@iZ25mi9h7ayZ test]# git pull
Username for 'https://gitee.com': xxxx@xxxx.com
Password for 'https://xxxx@xxxx.com@gitee.com':输入正确密码(看不到输入内容)
//生成.git-credentials 隐藏文件
cat ~/.git-credentials
https://Username:Password@gitee.com
 
vi ~/.git-credentials
可加多个用户名密码

当pull 之后查看文件是否有改变,也可以查看WebHook日志

最后

如果失败的话记得重启面板服务试试

0

评论 (0)

取消