To create a static site in gitlab-pages you have to choose between the diferents Static Site Generator (SSG):
- python Pelican http://docs.getpelican.com/en/stable/
- ruby jekyll https://jekyllrb.com/docs/
- ruby Middleman https://middlemanapp.com/basics/install/
As lnxnet.es was generated the first time with Pelican, this tutorial will be based on this SGG
To use GitLab Pages, first you need to create a project in GitLab to upload your website’s files to. These projects can be either public, internal, or private, at your own choice, so first you need a Gitlab.com account, it’s free https://gitlab.com/users/sign_in
For getting started you can go to https://gitlab.com/pages and choose among the many frameworks with example projects, for pelican I use this https://gitlab.com/pages/pelican
- fork the project to your namespace
- go to settings/advanced and rename of the project to one of your choice.
- go to CI/CD/pipelines and Run Pipeline, this is an automated system to build your project on a shared runner
the build is started when gitlab detect on your project a file named .gitlab-ci.yml with this structure:
image: python:2.7-alpine
pages:
script:
- pip install -r requirements.txt
- pelican -s publishconf.py
artifacts:
paths:
- public/
Basically, this file tells you that:
- use the docker image python:2.7-alpine to build the project, because pelican is a python project. if you use another framework, the docker image could be diferent
- there is only one job ( could be more ) needed for gitlab pages, and the name must be pages
- first install all requirements for the project with
pip install
- second run
pelican -s publishconf.py
to generate the static html,css, etc… of your project - and finaly said that it must generate and artifact with all the content of the public folder generated during the build
Now you can go to SETTINGS/Pages to see the url of your gitlab pages domain