La utilización de un gestor de versiones es una herramienta clave en los proyectos donde se desarrolla software. Facilitando la puesta en común de los cambios, al mismo tiempo que guarda su registro. Una de las mejores soluciones para almacenar los repositorios, especialmente en equipos pequeños que no tiene recursos o no desean administrar los servidores necesarios, es la utilización de una plataforma de desarrollo colaborativo de software. Siendo hoy en día la más popular es GitHub, recientemente adquirida por Microsoft. En esta entrada se va a comparar diferentes alternativas a GitHub para almacenar repositorios.
A principio de año se introdujeron importantes novedades en GitHub como la posibilidad de repositorios privados en las cuentas gratuitas.
GitLab
Una de las mejores alternativas a GitHub es GitLab, la cual es muy similar en cuanto a funcionalidad y aspecto. Entre las posibilidades de GitLab se encuentra la posibilidad de revisar el código, hacer un seguimiento de los tiempos, seguimiento de errores, wiki de proyecto, integración continua y automatización de pruebas.
La versión gratuita de GitLab ofrece la posibilidad de crear repositorios, solamente Git, ilimitados tanto privados como públicos. Así como un tiempo limitado para tareas de integración continua.
GitLab no solo es un servicio, sino que es un software de código abierto que puede descargar e instalar en un servidor propio. Por lo tanto, siempre esta la opción de usar GitLab en un host personalizado.
BitBucket
Otra alternativa a GitHub muy popular es BitBucket. Es una herramienta pensada para el trabajo en grupo que ofrece posibilidad de crear proyectos e integrar estos con software Atlassian. Lo que le permite integrar otras herramientas de administración de proyectos como Jira, Bamboo, HipChat y Confluence. Además, permite realizar un seguimiento de errores, crear wiki de proyecto y utilizar herramientas de integración continua.
La versión gratuita permite crear repositorios, Git o Mercurial, ilimitados tanto privados como públicos. Pudiendo permitir el acceso a los repositorios privado a un máximo de 5 usuarios, siendo necesario adquirir un plan para trabajar con más usuarios. Al igual que GitLab, el tiempo de máquina para tareas de integración continua está limitado.
Kiln
Klin es una alternativa a GitHub que solamente ofrece planes de pago, siendo posible probarlo de forma gratuita durante 30 días. El servicio pertenece a FogBugz por lo que integra con sus herramientas para la gestión de proyectos. Los gestores de versiones que soporta son tanto Git cómo Mercurial. En general, Kiln es adecuado para organizaciones medianas y grandes.
Comparativa
En la siguiente tabla se muestra una comparativa de los planes básicos de las tres alternativas que se han descrito en esta entrada y Github.
GitHub | GitLab | BitBucket | Kiln | |
Planes gratuitos | Si | Si | Si | No |
Limite de almacenamiento en plan gratuito | 1Gb por repositorio | Ninguno | 2Gb | |
Repositorios Privados en plan gratuito | Si | Si | Si (5 usuarios) | No |
Gestores de versione | Git y SVN | Git | Git y Mercurial | Git y Mercurial |
Revisión de código | Si | Si | Si | No |
Wiki | Si | Si | Si | Si |
Seguimiento de errores | Si | Si | Si | Si |
Integración continua | No | Si | Si | Si |
Conclusiones
En esta entrada se han visto tres alternativas a GitHub para almacenar repositorios Git. Las tres alternativas son bastante buenas, aunque en el caso de Kiln e hecho de no disponer de un plan gratuito es un hándicap para los usuarios que están comenzando. Además, teniendo en cuenta que tanto GitLab como BitBucket ofrecen repositorios privados en sus planes gratuitos.
Personalmente, en el caso de decantarme por una alternativa a GitHub me decantaría por GitLab. Salvo en el caso que sea necesario trabajar con Mercurial, lo que me llevaría a decantarme por BitBucket.
A la hora de plantearse el cambio, es necesario tener en cuenta que la popularidad de GitHub es debida en cierta medida a las funcionalidades de red social. Por ejemplo, la posibilidad de tener seguidores.
Imágenes: Pixabay (Gerd Altmann)
Deja una respuesta