在本教程中,我们将会使用 GitLab CI 将 Hexo 博客部署到 GitLab Pages 上。
- 新建一个 repository。如果你希望你的站点能通过
<你的 GitLab 用户名>.gitlab.io
域名访问,你的 repository 应该直接命名为<你的 GitLab 用户名>.gitlab.io
。 - 将你的 Hexo 站点文件夹推送到 repository 中。默认情况下不应该
public
目录将不会被推送到 repository 中,你应该检查.gitignore
文件中是否包含public
一行,如果没有请加上。 - 在你的站点文件夹中新建
.gitlab-ci.yml
文件:
- image: node:10-alpine # use nodejs v10 LTS
cache:
paths:
- node_modules/
before_script:
- npm install hexo-cli -g
- npm install
pages:
script:
- hexo generate
artifacts:
paths:
- public
only:
- master
- GitLab CI 应该会自动开始运行,构建成功以后你应该可以在
https://<你的 GitLab 用户名>.gitlab.io
查看你的网站。 - (可选) 如果你需要查看生成的文件,可以在 job artifact 中找到。
在 GitLab.com 上,GitLab CI 是默认启用的。如果你使用的是自托管的 GitLab,你可能需要在
Settings -> CI / CD -> Shared Runners
启用 GitLab CI。
Project page
如果你更希望你的站点部署在 <你的 GitLab 用户名>.gitlab.io
的子目录中,你的 repository 需要直接命名为子目录的名字,这样你的站点可以通过 https://<你的 GitLab 用户名>.gitlab.io/<repository 的名字>
访问。你需要检查你的 Hexo 配置文件,将 url
的值修改为 https://<你的 GitLab 用户名>.gitlab.io/<repository 的名字>
、将 root
的值修改为 /<repository 的名字>/