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访问博客

原文地址:https://www.cnblogs.com/Candies/p/10256463.html