GitLab: una herramienta de gobernanza, versionado, CI/CD y gestión de proyectos
5 de noviembre de 2019Si se hace algo (normalmente desarrollo de software) suele ser un proyecto y hay que gestionarlo de alguna manera. Para tareas pequeñas y a corto plazo suele bastar con hacer anotaciones periódicas, pero eso depende de la elección. Es necesario anotar información sobre el proyecto, es decir, crear documentación. Una de mis documentaciones es Es necesario versionar el código fuente del programa, por eso para que pueda navegar por el proceso de desarrollo y desplegar los cambios de manera eficiente. Y lo ideal es que el trabajo rutinario sea automatizado.
Colgando
Lo primero que se debe hacer en el desarrollo de software es versionar el código fuente de la aplicación. Sin esto, no se puede hacer un desarrollo ordenado y eficiente. El estándar para el versionado hoy en día (2019) es GIT, que se desarrolló principalmente para el kernel de Linux, pero sus cualidades lo han extendido tanto que ha desbancado al resto de herramientas de versionado de código fuente.
Vídeo sobre el versionado
Herramientas de gestión de proyectos
Desde hace tiempo existe una excelente herramienta Redmine para la gestión de tareas. En desarrollo de software han proliferado herramientas como GitHub y Bitbucket, que se manejan en forma de aplicación web. La funcionalidad que tienen GitHub y Bitbucket también está incluida en el excelente GitLab, que proporciona opciones adicionales de conectividad, además de que puedes ejecutarlo en tu propio servidor que tú controlas.
Qué hace GitLab
GitLab hace mucho, aquí tienes sus principales características y funcionalidades:
- GitLab es una aplicación web .
- Gestionar usuarios y sus derechos .
- Gestionar repositorios Git
- Mostrar los cambios que se han realizado en un repositorio Git
- Gestionar tareas
- CI/CD - automatización de la incorporación y despliegue de cambios
- Wiki - gestión de la documentación
Requisitos
Como para la mayoría de las tecnologías que describo, se requiere un servidor Linux para GitLab. GitLab utiliza una base de datos PostgreSQL. GilLab se instala comúnmente con un servidor web Nginx, pero también puede ser precedido por Apache como servidor web proxy - por ejemplo, si ya tienes un servidor web Apache instalado y no quieres/puedes cambiar el servidor web. GitLab utiliza Redis (como caché). GitLab está escrito en Ruby, concretamente en el framework web RubyOnRails.
Aquí tienes un vídeo comentado de la instalación de GitLab:
Si no tienes experiencia con la administración de Linux y la instalación de aplicaciones de servidor,
le recomiendo que tenga GitLab instalado profesionalmente
seguido de soporte, actualizaciones y formación.
Usos prácticos
Lo primero que tendrás que hacer en GitLab es crear un usuario. Luego creas un proyecto y asignas derechos sobre el proyecto a cada usuario según sea necesario.
Un usuario con permisos suficientes puede descargar el repositorio y empujar cambios. Estos cambios individuales (commits) se pueden ver entonces en la interfaz web.
Usando la interfaz web de Gitlab se puede bifurcar un proyecto, fusionar ramas, etc...
En Gitlab, puedes crear tareas (issues) que necesitan ser resueltas. Y luego asignar un estado a estas tareas y poner a alguien a cargo de la tarea. También puede asignar etiquetas a las tareas y filtrarlas más tarde. Una tarea también tiene estados: por ejemplo, abierta, aprobada, probada, desplegada, cerrada, y se pueden crear otros estados personalizados. Por supuesto, se pueden añadir comentarios y archivos adjuntos a las tareas individuales. Las tareas pueden verse o seguirse visualmente en el tablón. Las tareas pueden asignarse a un hito, que es una etapa en la que las tareas deben completarse. Típicamente, estas pueden ser funciones que necesitan ser implementadas para lograr alguna funcionalidad compleja.
GitLab tiene un Wiki integrado y los usuarios pueden escribir notas y crear documentación del proyecto en él.
GitLab también se puede configurar para ejecutar automáticamente la aplicación de compilación. Ejecutará automáticamente las pruebas y, finalmente, desplegará la aplicación a producción.
GIT
Videotutorial sobre los fundamentos del uso de GIT:
Videotutoriales de GitLab
Breves videotutoriales sobre cómo utilizar GitLab y sus distintas funcionalidades. Todos los tutoriales están en lista de reproducción de Youtube de GitLab.
GitLab - crear un proyecto
En este videotutorial verás cómo iniciar sesión en un proyecto, cómo crear un proyecto
y cómo clonar un repositorio Git a ti mismo en
hacer un cambio y empujar ese cambio al repositorio central.
GitLab - creación de tareas/temas
Videotutorial sobre cómo crear una issue/tarea en GitLab, cómo rellenarla, qué opciones tiene y cómo trabajar con la tarea
con la que trabajar.
GitLab - pizarra
Un videotutorial sobre cómo es una pizarra/tabla en GitLab, para qué sirve y cómo usarla.
Cerrar
GitLab puede considerarse como una base necesaria en los tiempos que corren (2019), para el desarrollo y colaboración eficaz en la ejecución de proyectos de software. ¡Verifique el código fuente del proyecto y utilice la herramienta para la gestión de proyectos cuando tenga varias personas y proyectos a largo plazo!
Para escribir y versionar ddocumentos donde el resultado va a ser un documento PDF, viene muy bien la herramienta LaTex, que también he utilizado para crear Ebook: apuntes del administrador del servidor linux.
Artículos sobre un tema similar
Imprimir imágenes en Linux
Inteligencia artificial: dalle2, Chat GPT
Diseño de aplicaciones mediante UML con Umbrello
Nextcloud: datos y aplicaciones en la nube
Boletin informativo
Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email
suscripción de noticias.
+