- Create a new repository named username.gitlab.io, where username is your username on GitLab. If you have already uploaded to other repo, rename the repo instead.
- Enable Shared Runners via Settings > CI/CD > Runners > Enable shared runners for this project.
- Push the files of your Hexo folder to the repository. The
public/
folder is not (and should not be) uploaded by default, make sure the.gitignore
file containspublic/
line. The folder structure should be roughly similar to this repo. - Check what version of Node.js you are using on your local machine with
node --version
. Make a note of the major version (e.g.,v16.y.z
) - Add
.gitlab-ci.yml
file to the root folder of your repo (alongside _config.yml & package.json) with the following content (replacing16
with the major version of Node.js you noted in previous step):
image: node:16-alpine |
- username.gitlab.io should be up and running, once GitLab CI finishes the deployment job,
- (Optional) If you wish to inspect the generated site assets (html, css, js, etc), they can be found in the job artifact.
Project page
If you prefer to have a project page on GitLab:
- Go to Settings > General > Advanced > Change path. Change the value to a name, so the website is available at username.gitlab.io/repository. It can be any name, like blog or hexo.
- Edit _config.yml, change the
url:
value tohttps://username.gitlab.io/repository
. - Commit and push.