GitHub Actions 与 Cloudflare Workers Sites

『终章』从建站开始,就一直托管在自己的 VPS 上,并且通过 GitHub Webhook 以及自制后端实现自动部署。不过最近把网站托管到了 Cloudflare Workers Sites。选择它的主要原因是自己一直使用 Cloudflare 的 DNS 和 CDN,其实类似的静态托管服务 Vercel 以及 Netlify 也可以考虑一下。而这类服务的优点也大多类似:

  • 一般会部署到多个网络节点,比如 Workers Sites 就会部署在 Cloudflare 遍布世界的200多个节点上。当然,我自然是不会缺少这区区200个节点的,我缺少的是遍布世界各地的读者。
  • 自带 CDN 并且与托管网站的服务器处于同一数据中心,节省了回源时间。
  • 较高的 SLA。
  • 不需要自己处理证书,虽然现在 Let's Encrypt 已经足够普及并且Certbot 也非常易用,不过能多偷一点懒也是很好的。

由于 Workers Sites 不提供 CI/CD,所以我选择了使用 GitHub Action 来负责生成网站、处理杂物,以及部署到 Workers Sites。

GitHub Webhook 与静态博客自动部署

大多数选择 Hugo 这类静态博客的用户,会选择将博客存储到 GitHub Pages 之类的方案,其中初学者一般会在本地生成网站,而进阶用户或者懒人一般会使用 CI 来实现自动部署。而我,由于自身性格别扭,以及将网站源代码放在了私有库中,并基于一些其它的神秘原因选择了通过 GitHub Webhook 再加上用 Golang 编写的后台服务来在自己的 VPS 上实现自动部署。