gitee与云服务器自动同步配置
1、在云服务器配置生密钥
密钥不存在,生成新的SSH密钥:
ssh-keygen -t ed25519 -C "your_email@example.com"
-
按回车使用默认保存路径
-
可以为空密码(直接回车两次)
cat ~/.ssh/id_ed25519.pub
# 或
cat ~/.ssh/id_rsa.pub
2、在Gitee添加SSH公钥
-
登录Gitee网站
-
点击右上角头像 → 设置
-
左侧菜单选择 SSH公钥
-
在“添加公钥”页面:
-
标题:可填写服务器名称,如“宝塔服务器”
-
公钥:粘贴第二步中
cat命令输出的完整内容
-
3、重新测试连接
ssh -T git@gitee.com
如果看到欢迎信息,说明SSH认证已成功。
4、重新克隆仓库
# 1. 清空目标目录
cd /homedata/wwwroot/
rm -rf auto_itguozi_cn
mkdir auto_itguozi_cn
# 2. 进入目录并克隆
cd auto_itguozi_cn
git clone git@gitee.com:xiangyixia/synchronization.git .
回到服务器安装webhook并配置
#!/bin/bash
echo "========== Gitee 自动同步开始 =========="
date
echo ""
PROJECT_DIR="/homedata/wwwroot/auto_itguozi_cn"
GIT_BRANCH="master" # 如果您的默认分支是 main,请修改为 "main"
# 检查目录
if [ ! -d "$PROJECT_DIR" ]; then
echo "❌ 错误:项目目录不存在 $PROJECT_DIR"
exit 1
fi
cd "$PROJECT_DIR"
# 检查是否为 Git 仓库
if [ ! -d ".git" ]; then
echo "❌ 当前目录不是 Git 仓库"
exit 1
fi
echo "项目目录:$(pwd)"
echo "当前分支:$(git branch --show-current)"
echo "开始同步代码..."
# 同步操作
git fetch --all
git reset --hard origin/$GIT_BRANCH
git clean -fd
echo ""
echo "✅ 自动同步完成"
echo "最新提交记录:"
git log -1 --oneline
echo "========== 同步结束 =========="
5、再进入gitee仓库的设置--webhook添加webhook
6、提交文件试试同步
本文由 我爱PHP169 作者:admin 发表,其版权均为 我爱PHP169 所有,文章内容系作者个人观点,不代表 我爱PHP169 对观点赞同或支持。如需转载,请注明文章来源。