GitLab Page 迁移至 CloudFlare Page

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

本站的的 301 跳转, HSTS, DNSSEC,等都是通过 CloudFlare 来实现的,迁移后将减少回源的开销且经测试 CF Page 的速度要明显快于 GL Page + CF CDN

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 跳转掉