Descargar Gitlab
- Ejecutamos el script de gitlab para añadir los repositorios.
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
- Instalamos el paquete de gitlab con la dirección dns de nuestro servidor de gitlab
apt update
EXTERNAL_URL="http://direccion_de_nuestro_servidor_gitlab" apt-get install gitlab-ee
Configurar el usuario git para que funcione con ssh
- Deberemos copiar la clave del .ssh/id_rsa.pub en la opción ssh_keys del profile de usuario,
esto lo haremos desde la administración web.
Instalar gitlab-runner
- Instalar gitlab-runner
# Linux x86-64
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
- Crear un usuario de gitlab runner.
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
- Instalar y ejecutar como un servicio.
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
- Registrar un runner
- Antes necesitaremos el token que se muestra en la sección de administración (Settings -> CI/CD -> Runners)
gitlab-runner register
-
Error mount: permission denied (are you root?)
- Cuando se ejecuta la compilación después de un push nos aparece el error anterior, hay que modificar
la configuración del runner en el fichero /etc/gitlab-runner/config.toml y cambiar
privileged = false -> privileged = true
- Cuando se ejecuta la compilación después de un push nos aparece el error anterior, hay que modificar
-
Runner creado con el comando gitlab-runner register
[[runners]]
name = "runner1"
url = "http://url_del_servidor"
token = "asdfklasdfjklñasdf"
executor = "docker"
[runners.custom_build_dir]
[runners.docker]
tls_verify = false
image = "alpine:3.9"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
- Para utilizar el mismo runner en diferentes proyectos debemos
acceder a la configuración web del runner y despinchar el check
«When a runner is locked, it cannot be assigned to other projects»
después nos dirigimos al proyecto elegido y asignamos el runner que ya debe
de estar visible.