[color=#696969] [/color]
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.
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 postfixVerificamos que el sistema no tenga habilitado algún Firewall o iPtable:
ps aux | grep iptableEn caso de tener alguno lo inhabilitamos:
systemctl disable iptablesColocamos 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=targetedPor último necesitaremos de Apache o Nginx
#Instalamos Apacheyum install httpd#Habilitamos el Serviciosystemctl enable httpd#Corremos Apachesystemctl start httpd
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-ceInstalamos 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/librariesEditar el archivo gitlab.rb con cualquier editor en mi caso usare vim
vim gitlab.rbEditamos la linea external_url = nil por nuestro hostname.internal domain en mi caso sería
external_url = joncak3.mylabserver.com
contraeña: 5iveL!fe
Que bueno!