Paso 1 Crear un proyecto en blanco y público en gitlab, sin readme
Paso 2 En tu terminal, clonar proyecto: git clone git@gitlab.com:TU_USER/mi-web.git
Paso 3 Entrar en el directorio del proyecto: cd mi-web
Paso 4 Descargar tema .zip . En http://jekyllthemes.org/ hay montones. Yo descargué https://github.com/jeffreytse/jekyll-theme-yat/releases/latest/
Paso 5 Descomprimir .zip y pegar contenido en la carpeta de tu repositorio “mi-web”
Paso 6 Comprueba que el tema funciona en local:
Instala las gemas necesarias para que el tema funcione:
bundle install
Sirve la web en local:
bundle exec jekyll serve
Consulta en el navegador
http://127.0.0.1:4000/
para ver como se ve.
Paso 7 Sube la web a tu repositorio:
git add .
git commit -m "instalación de gemas + test local"
git push
Paso 8 Para que en Gitlab se haga el bundle install
+ bundle exec jekyll serve
como se hizo en local, tienes que crear el archivo .gitlab-ci.yml
y ponerle este contenido.
image: ruby:3.1
cache:
paths:
- vendor/
before_script:
- gem install bundler
- bundle config set path 'vendor'
- bundle install
pages:
stage: deploy
script:
- bundle exec jekyll build -d public
artifacts:
paths:
- public
only:
- main # Cambia a 'master' si esa es tu rama principal
Paso 9 Sube los cambios al repositorio:
git add .
git commit -m "creación de gitlab-ci.yml
git push
Paso 10 En Gitlab > tu proyecto > Build > Pipelines deberías ver un pipeline ejecutándose (creada por el archivo .gitlab-ci.yml que recién añadimos). Cuando termine y ponga “passed” ya podrás ver tu web.
Paso 11 Para ver cuál es el dominio de tu web ve a Deploy > Pages. Ahí verás la configuración de HTTPS y también puedes editar el dominio único que se generó, tipo “https://mi-web-6e31db.gitlab.io/”.
Paso 12 Ahora ya puedes editar en local o en el repositorio con el editor de gitlab. Cuando subas los cambios tendrás que esperar un poco a que se termine el pipeline.
Si quieres configurar un dominio propio tendrás que:
- Ir a Deploy > Pages > Domains & Settings y añadir tu dominio. Ahí se te indicarán los registros DNS que tienes que añadir para que genere correctamente el certificado de let’s encrypt (un TXT y un ALIAS)
- También tendrás que añadir un registro de tipo A apuntando a la IP del gitlab (
35.185.44.232
), como indica en su documentación. - Revisa toda la documentación y espera unos minutos a que se repliquen los DNS y se generen los certificados.
Recuerda Por defecto, en los repositorios públicos, las páginas solo son visibles para miembres del proyecto, recuerda ponerlas visibles para cualquiera (en Settings > General > Visibility, project features, permissions > Pages > Everyone with access).