在 宝塔面板 中配置 Webhook 实现与 Gitee 代码推送的自动同步,并使用 公钥验证 来确保安全性。以下是详细的操作步骤:
1. 准备工作
-
宝塔面板:确保已安装并配置好宝塔面板,再安装webhook。
-
Gitee 仓库:确保你的代码已托管在 Gitee 上。
-
服务器环境:确保服务器已安装 Git(一般已自动安装) 和 Web 服务(如 Nginx 或 Apache)。
2. 生成 SSH 公钥
如果服务器上还没有 SSH 公钥,可以通过以下步骤生成:
-
登录服务器,打开终端。
-
生成 SSH 密钥对:
-
按提示输入保存路径(默认路径为
~/.ssh/id_rsa)。 -
设置密码(可选,建议留空)。
-
-
查看公钥:
复制公钥内容。
3. 将公钥添加到 Gitee 仓库
-
登录 Gitee,进入你的代码仓库。
-
进入仓库设置:
-
点击「管理」->「部署公钥管理」。
-
-
添加部署公钥:
-
在「添加部署公钥」页面,填写以下信息:
-
标题:自定义一个名称,如
XX公司专用(公钥粘贴时会自动获取生成信息,可用于验证公钥是否正确)。 -
公钥:粘贴从服务器复制的公钥内容。
-
-
点击「添加」完成配置。
-
4. 在宝塔面板中配置 Webhook
-
进入站点设置:
-
在宝塔面板中,点击「网站」-> 选择你的站点 ->「设置」。
-
找到「Webhook」选项,点击「添加 Webhook」。
-
-
填写 Webhook 信息:
-
名称:自定义一个名称,如
XX公司XX项目。 -
脚本:填写以下脚本内容(根据你的实际情况修改):
-
备注:网站根目录需要提前从仓库git clone代码,必须使用ssh方式,无需账号密码(clone成功说明公钥配置成功)。
-
-
保存 Webhook:
-
点击「提交」保存 Webhook 配置。
-
保存后,宝塔会生成一个 Webhook URL,复制该 URL。
-
5. 在 Gitee 中配置 Webhook
-
登录 Gitee,进入你的代码仓库。
-
进入仓库设置:
-
点击「管理」->「WebHooks」。
-
-
添加 Webhook:
-
URL:粘贴从宝塔面板复制的 Webhook URL(如 https://47.1.1.1:80808/hook?access_key=xxxxxxxxxxxxxxxxx¶m=gitee)。
-
触发事件:选择「Push 事件」(默认)。
-
Secret(可选):如果需要加密验证,可以设置一个密钥,并在宝塔 Webhook 脚本中添加验证逻辑。
-
点击「添加」完成配置。
-
6. 测试 Webhook
-
在 Gitee 中推送代码:
-
修改代码并推送到 Gitee 仓库。
-
-
查看 Webhook 日志:
-
在宝塔面板中,进入「Webhook」页面,查看日志是否显示代码拉取成功。
-
-
检查网站目录:
-
确认网站根目录中的代码已更新。
-
浙公网安备 33010602011771号