Importante
Este artículo está obsoleto y puede contener información desactualizada. Por favor, consulta la documentación más reciente para obtener la información actualizada.
GitLab CE es un administrador de repositorio de Git gratuito y de código abierto escrito en Ruby. Proporciona una interfaz basada en la web para la gestión de incidencias, la revisión de códigos, la supervisión, la integración y el despliegue de forma continua. Es muy similar a GitHub y te permite alojar tu propia tienda interna de repositorios para tu equipo de desarrollo.
GitLab te da control total sobre tus repositorios. Si lo que estás buscando es alojar y administrar repositorios git en un servidor centralizado, GitLab es la mejor opción para ti.
En este tutorial, aprenderás a instalar y configurar GitLab CE en un servidor cloud corriendo con Ubuntu 18.04.
Requisitos
- Un servidor vps cloud en España corriendo con Ubuntu 18.04.
- Unos recursos mínimos de 4 GB RAM y 2 vCores de CPU.
- Una contraseña root configurada.
Empezamos
Antes de empezar, te recomendamos que actualices el repositorio de tu paquete de sistemas a la última versión. Puedes hacer la actualización con el siguiente comando:
# apt-get update && apt-get upgrade -y
Una vez que tu sistema esté actualizado, necesitarás instalar algunas dependencias en él. Puedes hacer esto con el siguiente comando:
# apt-get install ca-certificates curl openssh-server postfix -y
Durante la instalación, se te preguntará el tipo de configuración de servidor de correo. Selecciona ‘Internet Site’ y haz clic en ‘OK’.
A continuación, te pedirá que proporciones el nombre de sistema de correo. Proporciona el nombre apropiado para la configuración de tu servidor y haz clic en ‘Ok’ para finalizar la instalación.
Instala GitLab
Por defecto, GitLab no está disponible en el repositorio por defecto de Ubuntu 18.04. Por ello, tendrás que añadir el repositorio de GitLab en tu sistema.
Puedes añadir el repositorio con el siguiente comando:
# curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
# bash script.deb.sh
Una vez que el repositorio haya sido añadido, deberías ver el siguiente resultado:
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/gitlab_gitlab-ce.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.
¡El repositorio ya está incoporado! Ahora ya puedes instalar los paquetes.
A continuación, instala GitLab CE con el siguiente comando:
# apt-get install gitlab-ce -y
Una vez que la instalación se haya completado con éxito, deberías ver el siguiente resultado:
It looks like GitLab has not been configured yet; skipping the upgrade script.
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
sudo gitlab-ctl reconfigure
For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
Configura GitLab
A continuación, necesitarás configurar GitLab con tu nombre de dominio. Puedes editar el archivo de configuración de GitLab como se muestra más abajo:
# nano /etc/gitlab/gitlab.rb
Cambia la siguiente línea por tu nombre de dominio:
# external_url ‘http://gitlab.example.com’
Guarda y cierra el archivo. Después, ejecuta el siguiente comando para reconfigurar GitLab:
# gitlab-ctl reconfigure
Deberías obtener el siguiente resultado:
Recipe:
* service[unicorn] action restart
- restart service service[unicorn]
* service[sidekiq] action restart
- restart service service[sidekiq]
Recipe: gitlab::gitlab-rails
* execute[clear the gitlab-rails cache] action run
- execute /opt/gitlab/bin/gitlab-rake cache:clear
Recipe:
* service[nginx] action restart
- restart service service[nginx]
* service[grafana] action restart
- restart service service[grafana]
Running handlers:
Running handlers complete
Chef Client finished, 12/699 resources updated in 31 seconds
gitlab Reconfigured!
Accede a GitLab
Ahora GitLab ya está instalado y configurado. Es hora de acceder a la Interfaz web de GitLab.
Abre tu navegador web y escribe la URL http://gitlab.example.com. Serás redigido a la siguiente página:
A continuación, teclea la contraseña que desees para el usuario root de GitLab y haz clic en el botón de “Cambiar tu contraseña”. Deberías ver el siguiente resultado:
A continuación, proporciona tu nombre de usuario haz clic en el botón de “Registro”. Deberías ver el panel de control de GitLab por defecto en la siguiente página:
Ahora, haz clic en el botón de “Crear un proyecto” para crear tu primer proyecto. Deberías ver la siguiente página:
Proporciona toda la información requerida y haz clic en el botón de “Crear proyecto”. Deberías ver la siguiente página:
Testea GitLab
Primero, haz login en otro sistema y establece el nombre de usuario global y el e-mail para Git con el siguiente comando:
# git config --global user.name "root"
# git config --global user.email "admin@gitlab.example.com"
A continuación, clona tu repositorio con el siguiente comando:
# git clone http://gitlab.example.com/root/project1.git
Deberás ver el siguiente resultado:
Cloning into 'project1'...
Username for 'http://gitlab.example.com': root
Password for 'http://root@gitlab.example.com':
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
Ahora cambia el directorio al proyecto1 y crea el nuevo archivo README.md:
# cd project1
# touch README.md
Después, destina un archivo nuevo al directorio proyecto1:
# git add README.md
# git commit -m "add README"
Deberías ver el siguiente resultado:
[master (root-commit) 7bf8685] add README
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
Finalmente, sube los resultados a tu servidor repositorio GitLab:
# git push -u origin master
Proporciona tu nombre de usuario GitLab, la contraseña y haz clic en “Enter” para continuar. Deberías ver el siguiente resultado:
Username for 'http://gitlab.example.com': root
Password for 'http://root@gitlab.example.com':
Counting objects: 3, done.
Writing objects: 100% (3/3), 210 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://gitlab.example.com/root/project1.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
Ahora accede a la Interfaz web de tu servidor GitLab y haz clic en proyecto1. Deberías ver que el archivo README.md ha sido añadido al repositorio:
¡Felicidades! Has instalado y configurado con éxito GitLab CE en tu servidor cloud corriendo con Ubuntu 18.04. Ahora ya puedes crear otro proyecto y configurar el nivel apropiado de acceso para tu equipo de desarrollo.