🦾 REFERENCE
Deploy Hooks 使用教程
因为 Notion 的外链图片有 48 小时失效这个限制,所以构建站点 48 小时之后,来自 Notion 的图片就会加载不成功。这时候重新触发一次构建即可刷新图片链接。
下面以在 Vercel 部署为例,在 Vercel 管理后台,对应项目内的 Settings > Git 设置页面中,创建一个 Deploy Hook:
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fafd8807d-878c-4424-8107-75f2b1ac391c%2F381dc3c8-3cda-4d3c-98fb-ca1e75bf20a9%2FCapture-2023-05-14-143958.png%3Fid%3D8fb9a35a-c8fe-487f-b93e-338b1c169af0%26table%3Dblock%26spaceId%3Dafd8807d-878c-4424-8107-75f2b1ac391c%26expirationTimestamp%3D1721901600000%26signature%3DVZWzCmoKg4ajP3OzzPjjcWFyB_IAfxb587KnK8Ji9SM?table=block&id=8fb9a35a-c8fe-487f-b93e-338b1c169af0&cache=v2)
在代码仓库里新建一个目录结构
.github/workflows
并在里面新建一个文件叫 cron.yaml
, 最终结构如下图:![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fafd8807d-878c-4424-8107-75f2b1ac391c%2F2add91b7-ebf6-4ff9-a8b4-5aaa739d8aba%2FCapture-2023-05-14-144230.png%3Fid%3Dec4a8dad-e4dc-4aea-961c-888de8df7957%26table%3Dblock%26spaceId%3Dafd8807d-878c-4424-8107-75f2b1ac391c%26expirationTimestamp%3D1721901600000%26signature%3DqKxgUe09ByIzUSerGarz3OOJ7Fy9d9oWno6jCs2UkFE?table=block&id=ec4a8dad-e4dc-4aea-961c-888de8df7957&cache=v2)
文件的代码如下:
name: auto-update-cron
on:
schedule:
- cron: '0 0 * * *'
jobs:
build:
name: Trigger Site Rebuild
runs-on: ubuntu-latest
steps:
- name: Call Vercel Hook
run: curl -X POST "https://api.vercel.com/v1/integrations/deploy/prj_xxxxxxxxx/ooooooooo?buildCache=false"
配置里的 URL 改成你新建的 Deploy Hook 地址。设置好后 GitHub 会每天 0 点通知 Vercel 重新构建站点。