尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

20.4 使用Gitee Webhook + 自建中转服务

20.4 使用Gitee Webhook + 自建中转服务 核心思路属于轻量无服务器方案利用 Gitee 的 Webhook 触发事件通过云函数调用 Vercel API 自动部署无需 GitHub。1. 准备工作一个公开的 Gitee 仓库静态项目一个 Vercel 账号获取VERCEL_TOKEN和PROJECT_ID免费的云函数服务比如阿里云函数计算、腾讯云函数、Vercel Edge Function 等2. 获取 Vercel 配置信息登录 Vercel → 进入账号设置 →Tokens→ 新建一个 Token命名如gitee-deploy权限全选复制保存进入 Vercel 项目 → 地址栏获取PROJECT_ID或在项目设置里找到3. 编写云函数代码以 Node.js 为例const axios require(axios); module.exports async (req, res) { if (req.method ! POST) { return res.status(405).send(Method Not Allowed); } const { body } req; // 验证 Gitee Webhook 签名可选建议开启 // 这里省略签名验证实际使用建议加上 const VERCEL_TOKEN process.env.VERCEL_TOKEN; const PROJECT_ID process.env.VERCEL_PROJECT_ID; const DEPLOY_HOOK_URL https://api.vercel.com/v1/projects/${PROJECT_ID}/deployments?token${VERCEL_TOKEN}; try { // 触发 Vercel 部署需要提前配置好 Vercel 项目的 Git 来源为任意静态文件或使用 CLI 方式 // 也可以直接调用 Vercel 的 Deploy Hook 接口 await axios.post(DEPLOY_HOOK_URL, { name: gitee-deploy, target: production }); res.status(200).send(Deploy triggered successfully); } catch (error) { console.error(error); res.status(500).send(Deploy failed); } };4. 配置 Gitee Webhook进入 Gitee 仓库 →管理→WebHooks→ 添加 Webhook填写推送 URL云函数公网访问地址密码自定义用于验证签名对应上面代码里的验证触发事件勾选Push事件保存配置点击测试确保能收到响应5. 实现逻辑每次在 Gitee 提交代码 → Gitee 向云函数发送 Webhook → 云函数调用 Vercel API 触发部署 → 网站自动更新。
返回列表