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