Skip to content

Instantly share code, notes, and snippets.

@vgoma
Created July 31, 2017 11:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vgoma/c76cbb020425caeef8f3462d706c5b0a to your computer and use it in GitHub Desktop.
Save vgoma/c76cbb020425caeef8f3462d706c5b0a to your computer and use it in GitHub Desktop.
Как превратить машину в gitlab runner host

Как превратить машину в gitlab runner host

На примере Ubuntu 16.04 LTS

Чтобы иметь возможность регистрировать и запускать на машине gitlab runner'ы необходимо установить ПО и обеспечить доверие gitlab'овским сертификатам.

Подготовка сертификатов

Готовим сертификат в соответстивии с инструкциями.

На той машине, которая будет запускать runner'ы кладем сертификат в специальные места (подробнее):

su
mkdir -p /etc/gitlab-runner/certs
cd /etc/gitlab-runner/certs
wget http://url-to/certificate.crt
mkdir -p /etc/docker/certs.d/gitlab.example.com:4567
cd  /etc/docker/certs.d/gitlab.example.com\:4567/
ln -s /etc/gitlab-runner/certs/certificate.crt
  • /etc/gitlab-runner/certs/certificate.crt (чтобы регистрировать runner'ы)
  • /etc/docker/certs.d/gitlab.example.com:4567 (чтобы gitlab/gitlab-runner смог выкачивать образы из registry)

Установка ПО

Общая информация по установке ПО

Если текущая машина является Unix подобной и runner'ами будут являться docker-контейнеры, целесообразней установить ПО как docker сервис.

Если в качестве runner'а будет выступать сама машина (через bash/powershell), или требуется запускать виртуальные машины (например из virtualbox'а) стоит устанавливать ПО на самой машине.

Как docker сервис

Устанавливаем ПО как docker сервис:

docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

Может также потребоваться явно указать адрес хоста: --add-host gitlab.example.com:127.0.0.1 (подставить реальный ip)

Если docker не стартует после перезагрузки системы, включить его можно:

sudo systemctl start docker

Включить docker при запуске системы можно:

sudo systemctl enable docker

На самой машине

После установки ПО устанавливаем сервис для своего пользователя:

sudo gitlab-runner install --user vgoma
sudo gitlab-runner start

Посмотреть статус можно командой:

sudo gitlab-runner status

Сервис для запуска runner'ов запускается командой:

gitlab-runner --debug run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment