GitLab Page 迁移至 CloudFlare Page

警告
本文最后更新于 2022-06-28,文中内容可能已过时。

具体选择 Github Gitlab Cloudflare Vercel 应根据自己的情况而定

本站的的 301 跳转, HSTS, DNSSEC,等都是通过 CloudFlare 来实现的,迁移后将减少回源的开销且经测试 CF Page 的速度要明显快于 GL Page + CF CDN 且与 Vercel 差距不明显
CF 的构建功能较为简陋只有一条命令,但每次部署都会生成专有域名用于预览十分方便

迁移流程

准备

打开 .gitlab-ci.yml,查看其中 before_script:script: 中的内容
记录下来后 .gitlab-ci.yml 就可以删除不要了
GL Page 个人选择直接删除

CF Page 部署

帐户主页> Pages >创建项目>连接到 Git
选择 GitLab 并根据指引操作
由于构建过程中用到的插件需要 deploy 所以在构建命令处填写 npm install hexo-cli -g && npm install && hexo g && hexo d
构建输出目录 /public,根目录保持默认
环境变量>变量名称 填写 NODE_VERSION,值填写 你使用的版本
设置完毕后部署即可

自定义域名

点击进入 Page >你的项目>自定义域>设置自定义域
填写域名后,在 Cloudflare 托管的域名会自动设置完毕,在其他域名商托管的域名需要手动设置 CNAME 到你项目的网址 xxxx..pages.dev

一些问题

  • Hugo 用户需要在变量中设置 HUGO_VERSION 为自己所使用版本
  • CF 会把链接末尾的 .html 通过 308 跳转掉
0%