第一步:安装Git和配置
切到root用户,安装git
yum -y install git
查看git版本
git version
生成公钥,按照提示完成三次回车,即可生成 ssh key
ssh-keygen -t rsa -C "your@email.com"
查看和复制公钥
cat ~/.ssh/id_rsa.pub
在Gitee后台配置ssh
Git全局配置和单个仓库的用户名邮箱配置
git config --global user.name "username"
git config --global user.email "your@email.com"
第二步:配置宝塔的webhook
安装webhook
配置webhook脚本
1.webhook脚本1
if test $1 = 'pull'
then
echo '代码更新:' $(date '+%Y-%m-%d %H:%M:%S')
cd /www/wwwroot/xxxx.cn
sudo git pull origin master
chown -R www:www ./
chmod -R 755 ./
echo "更新成功"
fi
2.webhook脚本2
#!/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
不用改,执行的时候会自动替换的。
然后查看密钥并复制
进入gitee
创建仓库webhook-test
管理-WebHooks
然后参考下图填写
返回宝塔,打开终端
进入wwwroot目录 cd /www/wwwroot
克隆仓库 git clone https://gitee.com/yourname/webhook-test.git
会提示输入账户密码,直接输入即可
配置存储用户名密码
鉴于本文所述方法为https方式拉取,此方式默认不保存用户密码,若不进行此步骤,则脚本虽可执行不报错,但是无法自动拉取代码。
git config user.name “你的用户名”
git config user.email “你的邮箱”
git config user.password “你的密码”
配置完成后还需要在系统存储,执行如下命令:
git config credential.helper store
可带–global参数配置全局,不带则配置当前仓库。
6.新建个文件测试下
© 版权声明
文章版权归作者所有,转载请注明出处。
THE END
暂无评论内容