Hexo+GitLab新手向流程

目录
警告
本文最后更新于 2022-06-24,文中内容可能已过时。
在经过了GitHub(百度抓取不明原因失败),Coding(奇怪的生成问题)后终究还是把目标锁定在了GitLab上
咕咕咕
已经准备将博客从 Hexo 迁移至 Hugo,所以 Hexo 和 Next-theme 相关内容不会再有了
Page 选择
强烈建议迁移至 Cloudflare Page或 Vercel 以获得更佳体验。
选用GitLab的缘由:
GitHub存在的问题
- 不能被百度爬虫爬取
非付费用户 Repo 只能为公开自定义域名 HTTPS 证书存在问题
Coding存在的问题
- 百度玄学不能爬取(经搜索可能是因为Coding加入了跳转页面)
- 既然也不能爬取那就不如用GitHub了 =_=
- 华腾家的东西能绕还是绕着走
GitLab的优点
- 可被百度爬取内容
- 可以将语言调整为中文(不推荐)
- 非付费用户可设置 Repo 为私密
搭建流程:
配置环境及安装Hexo(Win10 64)
安装 Git & Node.js
从 Git 以及 Node.js 官方下载安装即可,注意选择自己对应的系统及版本
安装Hexo
本地新建文件夹如"Hexo"
,打开该文件夹右键选择Git bash here
,依次输入以下指令
|
|
如以上操作无误,在浏览器打开http://localhost:4000/
即可看到Hexo初始界面
将Hexo部署到Gitlab Pages
创建GitLab Page
注册Gitlab账号(不用教了吧),右上角点击你的头像,打开Settings->Preferences->Localization->Language选为你所需要的语言即可
提示
为了方便本文选项名称一律以 GitLab 中文界面为准
- 从右上方向左看你会看到一个加号,点击它,选择新建项目,选择
Blank project
,项目名称设置为username.gitlab.io
(username为你的GitLab账户名),Visibility Level
选项选为私有,不选Initialize repository with a README
- 点击你的头像,点击
设置
,点击SSH密钥
,在页面即可看到生成一个
和现有的key
,根据自己的情况选择后将key粘贴到相应位置并命名密钥,点击保存密钥即可
添加.gitlab-ci.yml文件
在Hexo
目录下新建添加.gitlab-ci.yml
修改主题配置&部署Gitlab Page
提示
以下以 Next 主题为例
在Hexo
目录下运行git bash
|
|
打开~/Hexo/themes/next
目录删除.git
文件夹(否则会报错)
进入站点配置文件
,搜索themes
,将其值改为next
|
|
完成推送后在项目里点击CI/CD
查看,显示已通过即可由https://username.gitlab.io/
访问你的博客
Gitlab Pages 绑定个人域名
修改_config.yml文件中的url地址为https://yourdomain
,重新提交。
部署完成后,在项目页面访问设置->Pages->New Domain,输入你自己的域名以及证书密钥并设置 DNS CNAME 解析到你的 Pages 即可使用你的域名访问博客(建议打开 Force HTTPS 并申请证书使用 HTTPS 访问)
杂项
CloudFlare 相关
Gitlab Page的访问速度直连情况下甚至不如 Github,所以我们需要使用 CDN 为其加速,而在使用 CloudFlare 加速时会默认禁用爬虫,这时候我们需要
- 打开 主页>网站>安全性>WAF
- 创建防火墙规则>编辑表达式
- 输入
1
(http.user_agent contains "Baiduspider/2.0") or (http.user_agent eq "Baiduspider-image") or (http.user_agent eq "Baiduspider-render/2.0") or (http.user_agent eq "http://www.baidu.com/search/spider.html")
- 选择操作为允许>保存
- 创建防火墙规则>编辑表达式
- 输入
(cf.client.bot)
- 选择操作为允许>保存
这样就不会阻止爬虫爬取页面了