Hexo博客系列(三)-将Hexo v3.x个人博客发布到GitLab Pages
【原文链接】:https://blog.tecchen.xyz ,博文同步发布到博客园。
由于精力有限,对文章的更新可能不能及时同步,请点击上面的原文链接访问最新内容。
欢迎访问我的个人网站:https://www.tecchen.xyz 。
相关链接
前言
这里不多说Git作为版本控制系统的优势,Gitlab作为支持私有仓库的开源Git系统,另外开放了Pages的功能,可以实现个人静态博客的部署及访问。
本文仅将Hexo打包后的代码提交到Gitlab,并利用CI/CD发布到Gitlab Pages,实现可以通过 https://username.gitlab.io/projectname 或者 https://username.gitlab.io可以访问博客的目的。
创建仓库
Gitlab支持project page和user page两种pages,只需要创建对应的仓库即可。
如果想通过https://username.gitlab.io/projectname形式访问,需要创建projectname的仓库。
如果想通过https://username.gitlab.io,需要创建username.gitlab.io的仓库
代码发布
修改站点配置文件,找到deploy配置,将type设置为git,并填写自己的repo地址,分支默认为master即可。
deploy:
type: git
repo: git@gitlab.com:java4candy/java4candy.gitlab.io.git
branch: master
执行hexo clean && hexo d -g,即可将发布后的代码提交到Gitlab。
Gitlab 配置CI/CD
新建文件方式:
在Gitlab中,根据.gitlab-ci.yml模板New file并上传。
上传文件方式:
选择Upload file,将本地的.gitlab-ci.yml文件上传到Gitlab。
文件内容:
# This file is a template, and might need editing before it works on your project.
# Full project: https://gitlab.com/pages/plain-html
pages:
stage: deploy
script:
- mkdir .public
- cp -r * .public
- mv .public public
artifacts:
paths:
- public
only:
- master
上传后,Gitlab会自动校验.gitlab-ci.yml文件语法,校验通过后,自动执行。
另外,在左边菜单CI/CD->Pipelines中能够查看Pipeline、对应的Jobs及脚本的执行情况。
如果需要定时发布,可以使用Schedules创建Cron定时器。
最后在在Settings->Pages查看正确的的访问路径。
通过https://username.gitlab.io/projectname 或者 https://username.gitlab.io访问博客。