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.

            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