Hoy Git domina el mercado de control de versiones con GitHub como el destacado repositorio remoto de elección. Algunas personas también están usando bitbucket y gitlab para administrar repositorios. En este artículo, comparamos GitHub y Gitlab.
Orígenes de Git, Github y Gitlab
Inicialmente, el kernel de Linux estaba usando Bitkeeper, un sistema de control de versiones distribuido. Sin embargo, en 2005, la comunidad de Linux y el bitkeeper se separaron debido a los desacuerdos. Entonces, el kernel de Linux necesitaba una nueva solución. Esto condujo al nacimiento de GIT, el sistema de control de versiones distribuidas de código abierto.
En 2007, Tom Preston-Werner, Chris Wanstrath y PJ Hyett comenzaron a desarrollar Github. En ese momento, Git todavía no era la potencia que es hoy. Pero el equipo de Github tenía confianza y lanzaron GitHub en 2008. Hoy GitHub admite repositorios de código para 80 millones de proyectos y 27 millones de desarrolladores.
Gitlab comenzó mucho más tarde en 2011. Desde el principio, Gitlab fue concebido como una herramienta de colaboración con aspiraciones para ayudar a los desarrolladores a implementar los principios de DevOps. La compañía se incorporó en 2014. Hoy GitLab está siendo utilizado por más de 100,000 organizaciones.
Comparación
Tanto GitHub como Gitlab se utilizan para mantener repositorios GIT. Naturalmente, hay superposiciones en sus funcionalidades. Pero también hay algunas diferencias consecuentes. Si está tratando de elegir entre GitHub y Gitlab, aquí hay algunas áreas clave a considerar:
Control de acceso de usuario
GitHub le brinda la capacidad de controlar el acceso de sus usuarios a un determinado repositorio. Pero Gitlab tiene un control más granular. En Github, solo puede controlar el acceso de lectura y escritura. Gitlab le permite dar acceso a varios componentes como el rastreador de errores o el sistema de compilación individualmente. Tiene una configuración más robusta para organizaciones y equipos más grandes.
Integración continua y entrega continua (CI/CD)
La concentración de Github se está en mantener repositorios. Gitlab tiene un objetivo más elevado. Está tratando de abordar los problemas de DevOps. Viene con un sistema de compilación que se puede utilizar para prácticas de CI/CD. Aunque puede usar una herramienta de terceros para crear su propia tubería CI/CD con GitHub, GitLab proporciona una solución más integrada.
Seguimiento de errores
Tanto GitHub como GitLab proporcionan capacidades de seguimiento de errores. Puede usar fácilmente estas herramientas para organizar sus tareas de garantía de calidad.
Empezando
Si desea transferir sus repositorios actuales a GitHub, proporciona herramientas de importación para facilitar la tarea. Usando las herramientas, puede transferir el código y los activos de la subversión, Mercurial, TFS, CVS y otros sistemas de control de versiones. Sin embargo, la documentación de Github no es integral. GitLab también tiene herramientas de importación de repositorio. Y la documentación es mejor.
Integración de terceros
Ambas herramientas tienen ecosistemas ricos que admiten integración de terceros y mercados que le permiten comprar y vender aplicaciones y herramientas premium.
Soporte de Docker
Gitlab tiene un mejor apoyo para Docker. El Registro de contenedores GitLab le brinda la capacidad de mantener sus imágenes de Docker fácilmente.
Comunidad
Debido a la longevidad y popularidad de Github, tiene una comunidad más fuerte. Gitlab está tratando de avanzar organizando más eventos comunitarios.
Edición de Empresa
Ambas compañías tienen paquetes de nivel empresarial y un enfoque escalonado para los precios. El nivel libre de Github solo permite repositorios públicos. Para repositorios privados, GitHub cobra $ 7- $ 21/usuario/mes. GitLab le permite repositorios privados de forma gratuita, que es un excelente punto de venta para equipos de desarrollo más pequeños. Para obtener más funciones premium, Gitlab cobra $ 4- $ 19/usuario/mes. También ha introducido un nuevo nivel que tendrá más herramientas de DevOps de nivel empresarial. El nuevo nivel será de $ 99/usuario/mes.
Github es la fuerza dominante actual en el mercado GIT, mientras que Gitlab es el retador. Puede esperar que estas dos tecnologías continúen compitiendo entre sí. Ante más información, vea este video animado sobre el tema: