使用 宝塔WebHook 自动同步仓库代码到服务器
WebHook 是应用给其它应用提供实时信息的一种方式。当信息产生时,WebHook 就会把它发送给已经注册的应用,以实时同步数据。
2022 年 4 月 7 日之前此网站更新代码的方式:
- 项目打包
- 合成压缩包
- 上传至服务器运行目录
- 删除原始资源
- 代码解压
过程很繁琐,所以开始使用 WebHook 以进行网站源代码自动更新。
当代码推送至远程 Git 仓库后,WebHook 自动触发,发送消息至服务器,服务器得到消息后,进行克隆代码的操作,以实时迭代网站信息。
# 配置方式
1. 服务器配置 Git ,注: 服务器系统为 CentOS。
在左侧导航栏点击 软件商店 ,搜索并安装 GitLab 中文社区版。
在文件:
/www/wwwroot/目录下,点击文件导航栏视图中的 终端 ,以启动宝塔终端。配置 Git 信息,可直接 clone 仓库后,输入账号密码。
(选)配置公钥。
输入:
ssh-keygen -t rsa -C "你的邮箱"输入
cat ~/.ssh/id_rsa.pub获取公钥,先复制到文本保存起来。
2. 服务器配置 宝塔 WebHook
在左侧导航栏点击 软件商店,搜索 Hook,搜索并安装 宝塔 WebHook。
打开 宝塔 WebHook,点击 添加 ,输入名称和以下脚本:
- 提交后点击查看密钥,复制
GET/POST下面的地址:http://ip:port/hook?access_key=...¶m=...
3. Gitee 配置 WebHooks
在 Gitee 选择需要同步的仓库(打包后的资源可以新建一个仓库),点击管理,选择 WebHooks。
点击添加 WebHooks ,在 URL 输入复制的地址,WebHook 密码可不填。
点击添加
(选)如果使用 SSH 地址,需要在部署公钥管理里添加上文中复制到的公钥。
4. 完成配置
以上,配置已完成,在 Gitee 点击测试可以进行测试 WebHook 是否可用。
之后,就可以直接提交代码至仓库,不用再压缩打包文件去服务器替换网站资源了。