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 22.04.
Requisitos
- Un servidor Cloud corriendo con Ubuntu 22.04.
- Unos recursos mínimos de 4 GB RAM, 10 GB de disco y un vCore.
- 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 22.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 -sLO 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:
Detected operating system as Ubuntu/jammy.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
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.
The repository is setup! You can now install packages.
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:
Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.
NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
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 redirigido a la siguiente página:
Ejecuta el siguiente comando para obtener la contraseña del usuario root:
# cat /etc/gitlab/initial_root_password
A continuación, teclea la contraseña para iniciar sesión con el usuario root de GitLab y 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:
Selecciona la opción deseada y proporciona toda la información requerida, luego haz clic en el botón de “Crear proyecto” para finalizar.
Testea GitLab
Primero, inicia sesión 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/name_project.git
Deberás ver el siguiente resultado:
Cloning into 'name_project'...
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 example.md:
# cd project1
# touch example.md
Después, destina un archivo nuevo al directorio del proyecto:
# git add example.md
# git commit -m "add example"
Deberías ver el siguiente resultado:
[master (root-commit) 7bf8685] add example
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 example.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, haz clic en proyecto y deberías ver que el archivo añadido al repositorio.
¡Felicidades! Has instalado y configurado con éxito GitLab CE en tu servidor cloud corriendo con Ubuntu 22.04. Ahora ya puedes crear otro proyecto y configurar el nivel apropiado de acceso para tu equipo de desarrollo.
Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites, consúltanos!