CONTROL DE VERSIONES
¿QUÉ ES GitLab?
Es un entorno colaborativo de trabajo que ofrece la herramienta de
versiones basadas en GIT.
Caracteristicas:
· Posibilidad de auto-hosting.
·
Ofrece 2 opciones para llevar el control de los proyectos:
- Crear una cuenta en su sitio oficial.
- Montar un servidor propio de GitLab.
·
Control de versiones basado en GIT.
·
Su interfaz contiene las herramientas necesarias para la gestión de proyecto,
grupos, usuarios, tags, Branch, etc.
·
Permite visualizar el trabajo de los colaboradores por medio de commits,
branchs, resolución de incidencias entre otras.
·
Posee un seguimiento de incidencias.
·
Merge
Request: similar al pull Request en GitHub.
·
Integración con otras herramientas como Mattermost, que es una
herramienta parecida a discord, y Jenkins que es una herramienta de integración
continua.
·
Asignación de permisos a nivel de roles, grupos y proyectos.
·
Se debe montar la versión sobre una distribución Linux.
·
OpenSource
·
Soporta
importaciones de GitHub.
¿Qué es GitHub?
Es un servicio de hosting de repositorios almacenados en la nube que
ayuda a administrar y almacenar código
Características:
·
Bastante
intuitivo.
·
Posee un sistema de seguimiento de problemas, etiquetando el problema y
permitiendo que cualquier usuario del equipo pueda ver la porción del código
con error, junto a una sugerencia para solucionarlo.
·
Posee una herramienta de revisión de código
·
Visor de ramas: en donde se puede observar el progreso de distintas
ramas
·
Gratuito
para código abierto.
·
Los repositorios: son los espacios en los que podemos almacenar
proyectos, puede ser tanto en local como en remoto
·
Crea el árbol de versiones: el
repositorio guarda un historial de versiones y la relación de cada versión con
la anterior.
·
Comunidad, cuenta con más de 20 millones de usuarios.
·
Principales funciones entre los repositorios:
-
Fork: Función que
nos ayuda a contribuir a otro proyecto o repositorio.
-
Branch: Es la bifurcación de un proyecto, en la cual se está añadiendo nuevas
funcionalidades.
-
Commit: Esta función nos ayuda a subir código modificado a nuestra versión local
del repositorio.
-
Fetch: Actualiza el repositorio local con información del repositorio remoto.
-
Merge: Es la fusión del código en el repositorio remoto con tu repositorio
local.
-
Pull: unión del fetch y del merge, recoge el código del repositorio
remoto y mezlca el trabajo en local con esta.
GitLab Vs GitHub
|
Caracteristica(Versión Gratuita) |
GitHub |
GitLab |
|
Tamaño máximo |
1 GB, 100MB por archivo |
10GB |
|
Límite de colaboradores por repositorio |
3 colaboradores en repositorios privados |
Ilimitados |
|
Límite de repositorios privados |
Ilimitados recientemente |
Ilimitados |
|
Integración continua |
Marco CI/CD integrado recientemente,
excepto para Jenkins o CirleCI |
Marco CI/CD integrado, calificado como el
mejor |
|
Manejo del ciclo de vida de DevOps |
Solamente maneja las etapas de Manage,
Plan., Create, Verify, Package, Secure, Release. |
Maneja totalmente el ciclo de vida desde la
idea hasta el código en la nube (Manage, Plan, Creat, Verify, Package,Secur,
Release, Configure, Monitor, Defend) |
|
Interfaz |
Simple |
No muy amigable |
|
Gráficos de evolución |
Se debe usar una herramienta de terceros
llamada ZenHub |
Integrada dentro de GitLab |
|
Rastreador de Problemas. |
Simple y sencillo de usar |
Es un poco complejo a primera vista. |


Comentarios
Publicar un comentario