Resumen

Domina cómo usar los grupos de GitLab para organizar proyectos, controlar accesos y compartir recursos como runners y clusters de Kubernetes. Aquí entenderás qué son los grupos y subgrupos, cómo operan los namespaces y las visibilidades (pública, interna y privada), y los pasos clave para crearlos desde la interfaz.

¿Qué son los grupos y subgrupos y cómo protegen tu trabajo?

Los grupos permiten agrupar proyectos y compartir recursos entre equipos para trabajar de forma ordenada y segura. Además, facilitan otorgar permisos de acceso a usuarios dentro de gitlab.com y compartir infra común.

  • Agrupar proyectos con su código y recursos asociados.
  • Otorgar permisos de acceso por rol y necesidad.
  • Compartir recursos: clusters de Kubernetes, templates, runners para CI.

Los subgrupos modelan la estructura real de tu compañía. Por ejemplo, equipos de desarrolladores, diseñadores y directivos pueden ser subgrupos separados. Esto no bloquea la comunicación, pero sí aplica reglas de seguridad para evitar accesos fuera del alcance del trabajo. Ejemplo: la persona que configura el continuous integration gestiona los secretos; no todos deben ver esa información.

¿Qué habilidades y conceptos aplicas aquí?

  • Administración de permisos y seguridad por equipo.
  • Modelado organizacional con subgrupos.
  • Gestión de recursos compartidos para CI/CD.
  • Manejo de secretos y principio de mínimo privilegio.

¿Cómo operan los namespaces, las menciones y los nombres reservados?

GitLab utiliza namespaces para asignar una URL única a cada usuario, grupo y subgrupo. Esto estandariza direcciones y facilita la comunicación con arroba.

  • URL únicas por usuario, grupo y subgrupo.
  • Menciones con @ a una persona, a todo un grupo o a subgrupos específicos.

No puedes usar cualquier nombre para un grupo: hay nombres reservados (similares a keywords en lenguajes de programación) en uso por el sistema. Ejemplos que no se pueden usar: commits, files, new, wikis. Existe una lista completa de nombres reservados que se debe consultar antes de nombrar.

¿Cómo crear un grupo y definir la visibilidad en GitLab?

Puedes crear un grupo desde varios lugares de la interfaz. La configuración inicial define nombre, descripción, avatar y visibilidad, lo que impacta en funcionalidades disponibles.

¿Dónde y cómo se crea un grupo?

  • Barra de navegación: nuevo → nuevo grupo.
  • Vista de grupos: tus grupos → botón nuevo grupo.
  • Completa: nombre (ejemplo: Platzi GitLab Live), descripción, avatar, visibilidad.
  • Clic en crear grupo para generar el namespace y la URL.

Dentro del grupo verás herramientas clave para la operación diaria: - Actividad del grupo y analíticos de contribución. - Vista agregada de issues y merge requests de proyectos y subgrupos. - Clusters compartidos y asignación de permisos a miembros.

¿Cómo se define la visibilidad y qué impacto tiene?

Hay tres tipos de visibilidad para grupos y proyectos: - Pública: cualquiera puede ver los contenidos, esté o no logueado. - Interna: solo usuarios logueados dentro de la instancia de GitLab. Aplica en gitlab.com y en instancias propias, ya que GitLab es open source y puede autogestionarse. - Privada: acceso únicamente mediante permisos otorgados en el grupo o proyecto.

Sobre funcionalidades: aunque GitLab es open source, muchas características avanzadas están detrás de una pasarela de pago cuando el grupo es privado. Si el grupo es público, se accede a una gran cantidad de funcionalidades como si se tuviera suscripción. Recomendación práctica: público para proyectos open source; privado para proyectos internos de compañía.

¿Cómo crear un subgrupo correctamente?

  • Desde el grupo: nuevo subgrupo → completar nombre, descripción y visibilidad.
  • Diferencia clave: el namespace del subgrupo se construye sobre el del grupo, afectando directamente la URL.
  • Tras crearlo, ya puedes organizar miembros y proyectos por subáreas.

¿Tienes dudas o quieres compartir cómo organizas equipos, permisos y visibilidad en GitLab? Escribe en los comentarios y cuéntanos tu configuración ideal.