Hexo博客搭建进阶版
为什么选择 Gitlab
-
GitHub部署存在的问题
-
不能被百度爬虫爬取,很难被百度收录
-
须本地生成静态网页后部署,并且很难异地或异机编辑
-
-
GitLab的优点
-
可被百度爬取内容,没有DNS污染
-
在GitLab服务器自动化部署,可以在线编辑md文档后直接部署
-
隐私保护程度高,仓库为私有仓库,但页面可以发布出去
-
有中文支持,Settings->Preferences->Localization->Language 选择语言中文
-
移植博客并部署到 Gitlab上
3.1 在 Gitlab 上创建仓库
在 Gitlab 上创建一个新的仓库。您可以在 Gitlab 上创建一个新的仓库,仓库名称应该为 <username>.gitlab.io
。其中,<username>
是您的 Gitlab 用户名。一般来说仓库设定为私有就行。
注意配置 git 和 ssh 免密登录
3.2 下载 Gitlab 仓库
git clone <git-repository-url>
3.3 将已有的博客复制到本地仓库
只需要复制scaffolds
、source
、themes
和一些配置文件到gitlab的本地仓库
$ tree -L 2
.
├── scaffolds
│ ├── draft.md
│ ├── page.md
│ └── post.md
├── source
│ ├── _posts
│ ├── _drafts
├── themes
├── _config.yml
├── package.json
└── package-lock.json
注意需要卸载 hexo-deployer-git 及其相关配置文件,或者直接修改package.json
3.4 创建一个自动化部署文件
创建一个.gitlab-ci.yml
的文件,可以直接创建,也可以在网页端创建。
image: node:18.9.1
pages:
cache:
paths:
- node_modules/
script:
- npm install hexo-cli -g
- npm install
- hexo clean
- hexo generate
- hexo deploy
artifacts:
paths:
- public
only:
- main
3.5 部署到 Gitlab
git add .
git commit -m "update blog"
git push
以后每次异地修改只要 git pull,然后运行上面三条命令即可
3.6 修改 Pages 权限
进入设置,把Pages权限设置为everyone
。非常重要!!
完成推送后在项目里点击 CI/CD
查看,显示成功部署即可由https://username.gitlab.io/
访问你的博客