Cargando



Gitlab: Alternativa gratuita y privada a Github

Instalaremos una alternativa a Github que nos ofrece todas sus funcionalidades de manera gratuita y privada. Ideal para startups que desean mantener privacidad de sus ambientes de prueba y desarrollo manteniendo el control de versiones.


ago 29 2015 21:31
Profesional
ago 31 2015 09:57

[color=#696969]

[/color]



¿Que es GitLab?

El proyecto nació en Ucrania y poco a poco ha ido creciendo hasta tener oficinas en California y clientes como NASA, AT&T, y Alibaba.

GitLab es open-source y ofrece 2 versiones una Free y la versión Enterprise, mientras en la FREE toda la infraestructura va de tu parte, En la version Enterprise añade soluciones híbridas en la nube.


¿Cómo funciona la colaboración en GitLab?


El punto fuerte de GitLab es que lo puedes instalar en tu servidor de manera gratuita. Esto es algo que Github no pueden ofrecer y te da la libertad de controlar lo que pasa con tus datos, algo muy relevante hoy en día.
El segundo punto fuerte es que es 100% Open Source. Si quieres puedes revisar el código fuente de la aplicación y hacer modificaciones.


Colaboración de Gitlab


GitLab tiene las mismas herramientas de colaboración que GitHub. Es posible compartir proyectos con otros usuarios e invitarlos a contribuir directamente, sin tener que hacer un fork o, si el repositorio es público, se puede utilizar el mismo modelo que tiene GitHub, de crear un fork, modificarlo, y enviar al autor un pull request, que en este sistema se llama merge request.

Es posible crear proyectos internos, algo que sirve mucho a instituciones que usan GitLab en sus servidores. Un proyecto interno permite a cualquier usuario logueado tener acceso para explorarlo. Algo conocido como inner sourcing.
Puedes también crear grupos para mantener repositorios con un tema común y lo mejor de todo es que es completamente gratis. No hay ninguna limitación en cuanto al número de repositorios privados o colaboradores dentro de un proyecto. Otros servicios como GitHub o Bitbucket sí tienen estas limitaciones.


Instalación

Haremos la instalación en un servidor con CENTOS 7.0 sus características son:

CPU: 1 núcleo
Memory: 1gb ram
HD: 25 gb de Disco

Al ser un ambiente de prueba no tendremos problemas pero en un ambiente de producción lo recomendable sería.

CPU: 2 cores to support up to 500 users.
Memory: 2 GB to support up to 500 users.


Preparamos el Sistema


Necesitaremos Postfix:
#Instalamos yum install postfix#Habilitamos el Servicio para inicio automático con el Sistema systemctl enable

postfix#Iniciamos Postfix.systemctl start postfix
Verificamos que el sistema no tenga habilitado algún Firewall o iPtable:
ps aux | grep iptable
En caso de tener alguno lo inhabilitamos:
systemctl disable iptables
Colocamos SELINUX en modo permissive editando el archivo /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.SELINUXTYPE=targeted
Por último necesitaremos de Apache o Nginx
#Instalamos Apacheyum install httpd#Habilitamos el Serviciosystemctl enable httpd#Corremos Apachesystemctl start httpd
Descarga, Instalacion y Configuracion

Usaremos la Community Edition que descargamos desde su página oficial.
curl https://package.gitlab.com/install/repositories/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce
Instalamos Gitlab usando la receta de chef que nos proporciona la descarga.
gitlab-ctl reconfigure

El proceso puede durar alrededor de 10 minutos uno de los errores comunes es:


External URL must include a FQDN
En ese caso debemos ir a:
cd /opt/gitlab/embedded/cookbooks/gitlab/libraries
Editar el archivo gitlab.rb con cualquier editor en mi caso usare vim
vim gitlab.rb
Editamos la linea external_url = nil por nuestro hostname.internal domain en mi caso sería
external_url = joncak3.mylabserver.com
Al finalizar el instalador todo debería estar corriendo y podemos entrar en la interfaz web desde el puerto 8080






Iniciamos sesión con el usuario y contraseña por defecto.
usuario: root
contraeña: 5iveL!fe





Conclusiones
Es una aplicación que me gusta recomendar para devops teams, al igual que GITHUB ofrece compatibilidad con muchas herramientas de desarrollo pero manteniendo la privacidad y sin ningún costo en su versión Community, la manera de usar es muy similar a Github puedes ver su arquitectura y el source code desde https://about.gitlab.com/el cual es de agradecer en momentos de troubleshooting o en caso de modificar su funcionamiento para integrar nuevas funciones.

¿Te ayudó este Tutorial?


4 Comentarios

Que bueno!


Ricardo Matos
sep 20 2015 18:04

+1 lo tengo pendiente.

No sabía que había esta opción privada gratis estilo Github

Me ha sorprendido la buena alternativa que tenemos con Gitlab, lo he probado y lo estoy testeando. Muchas gracias.

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X