将 gitee 镜像库使用 webhook 同步到 服务器
大约 2 分钟学习笔记WebhookGit
关联教程
github 自动同步到 gitee 镜像库 , 通过Github Actions
实现代码自动 Build,同步到 Gitee
一、服务器秘钥
1. 创建秘钥
在终端输入以下代码 (邮箱换为自己的),不要犹豫,一路 Enter
即可, 出现下图即表示成功
ssh-keygen -t rsa -C "pupper.cheng@gmail.com"
注意
如果已经有了 私钥 公钥,可能不会有上图的效果.
2. 验证
在终端输入以下代码, 出现 id_rsa
、id_rsa.pub
两个文件即表示生成成功.
id_rsa
: 私钥id_rsa.pub
: 公钥
cd ~/.ssh && ls
3. 查看公钥
在终端输入以下代码查看公钥
cat ~/.ssh/id_rsa.pub
公钥大概长这样 😠
二、给 gitee 镜像库添加公钥
三、服务器宝塔面板操作
在宝塔面板 --> 软件商店 --> 搜索 webhook 安装 --> 点击设置 --> 添加脚本
webhook 脚本
脚本中需要修改的内容:
Pupper0601.github.io
替换为自己的gitee 仓库名称
, 同时也是自己的网站目录名称
gitPath
修改为自己的 git 项目路径gitHttp
修改为自己的 gitee 仓库地址(注意: 不要使用 http 地址
)main
为分支名称, 注意 github 同步到 gitee 的仓库, 分支名称为 github 上的分支名称
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
#判断宝塔WebHook参数是否存在
if [ ! -n "Pupper0601.github.io" ];
then
echo "param参数错误"
echo "End"
exit
fi
#git项目路径
gitPath="/www/wwwroot/HexoNote/Pupper0601.github.io"
#git 网址
gitHttp="git@gitee.com:pupper/Pupper0601.github.io.git"
echo "路径:$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/main
#git clean -f
git pull origin main
echo "拉取完成"
#执行npm
#执行编译
#npm run build
#设置目录权限
chown -R www:www $gitPath
echo "-------结束--------"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
四、gitee 添加 webhook
在 镜像仓库中设置 webhook 钩子, url 中填写 https://4*.*.*.135:8989/hook?access_key=ygxPcOW...2HIFZlT6Ld, 事件中选择 Push 即可