Configuración de GitLab Pages para hosting estático con CI

Clase 27 de 53Curso de DevOps con GitLab

Resumen

Convertir una idea en un sitio en línea es más simple con GitLab Pages. Conecta tu automatización y tu continuous integration a un hosting estático listo para servir tu website o una app moderna en React, View o Angular. Además, suma dominios personalizados y controla cómo se publica tu proyecto sin salir de GitLab CI.

¿Qué es GitLab Pages y por qué usar hosting estático?

GitLab Pages ofrece hosting estático para publicar websites y aplicaciones modernas que se compilan como archivos estáticos. Es ideal cuando ya manejas issue trackers, conversas alrededor del código y tienes automatización con continuous integration integrada a tu flujo.

  • Sirve sitios y apps estáticas sin servidores complejos.
  • Integra publicación en el mismo repositorio y pipeline.
  • Acepta dominios personalizados además de URLs de gitlab.io o gitlab.com.

¿Qué tipos de proyectos puedes publicar?

  • Websites estáticos con HTML, CSS y JS.
  • Apps modernas construidas que generan archivos estáticos, por ejemplo en React, View o Angular.

¿Cómo configurar el deployment en GitLab CI con Pages?

La configuración vive en .gitlabci.yml y se basa en un job específico. La clave es nombrar el job correctamente, mover el contenido al directorio indicado y exportar artefactos para que el hosting los tome desde el pipeline.

  • El job debe llamarse Pages. Es indispensable.
  • Mueve todo lo que quieras publicar al folder Public.
  • Exporta los artefactos de Public para que GitLab Pages los lleve del CI al hosting.

¿Cómo luce un esqueleto mínimo de .gitlabci.yml?

Pages:
  stage: deploy
  script:
    - echo "Preparar archivos estáticos" # mover archivos al folder Public.
  artifacts:
    paths:
      - Public
  only:
    - main  # o la rama que uses para publicar.

¿Qué habilidades pones en práctica aquí?

  • Configuración de pipelines en GitLab CI con un job de deployment.
  • Gestión de artefactos para publicación estática.
  • Organización de proyecto para servir contenido desde Public.

¿Qué URL y dominios ofrece GitLab Pages?

Hay varias formas de construir la URL final según sea proyecto personal, de grupo o con subgrupos. También puedes tener un dominio raíz sin indicar proyecto o subgrupo en la ruta.

  • Proyectos personales: usuario.gitlabio/nombre-del-proyecto.
  • Proyectos en grupo: grupo.gitlabio/nombre-del-proyecto.
  • Con subgrupos: grupo.gitlabio/subgrupos/proyectos.
  • Dominio raíz del usuario o grupo: crea un proyecto llamado usuario.gitlabio o grupo.gitlabio para publicar en esa raíz.

¿Cómo usar dominios personalizados?

  • Conecta tu dominio propio para no depender solo de gitlab.io o gitlab.com.
  • Mantén tu marca en la URL mientras publicas desde el pipeline.

¿Tienes dudas sobre la configuración del job Pages, la carpeta Public o las URLs por grupo y subgrupos? Comparte tu caso en los comentarios y afinamos tu deployment.