宝塔webhook对接gitee实现网站代码自动git pull更新,解决每次输入用户名密码问题
此方法为热心网友整理,但是其并不完善,缺少重要一步,本人继续完善后发布。
步骤:
1.安装git
yum install git
2.安装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/$1"
#git网址
gitHttp="https://gitee.com/yourname/$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
git reset --hard origin/master
sudo git pull
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
以上脚本中的yourname
需要更改成你自己的,如果用的不是gitee,那就修改整个git网址,其中$1
不用改,执行的时候会自动替换的。
3.进入gitee
创建仓库webhook-test
管理-WebHooks
然后参考下图填写
4.返回宝塔,打开终端
进入wwwroot目录 cd /www/wwwroot
克隆仓库 git clone https://gitee.com/yourname/webhook-test.git
5.配置存储用户名密码
鉴于本文所述方法为https方式拉取,此方式默认不保存用户密码,若不进行此步骤,则脚本虽可执行不报错,但是无法自动拉取代码。
git config user.name “你的用户名”
git config user.email “你的邮箱”
git config user.password “你的密码”
配置完成后还需要在系统存储,执行如下命令:
git config credential.helper store
可带–global参数配置全局,不带则配置当前仓库。