Попытка запустить Job в ранее установленном GitLab


$ su - gitlab


Для начала, установлю docker

$ sudo usermod -aG docker gitlab
$ sudo usermod -aG docker vagrant
$ sudo usermod -aG docker gitlab-runner


$ gitlab-runner verify


Создать нового пользователя и залогиниться им.

(Root в админке (Admin area) должен разрешить работу с gitlab созданным юзером.)


Генерю rsa ключи:

$ ssh-keygen -t rsa -N ''
$ cat ~/.ssh/id_rsa.pub


Settings –> SSH Keys

Добавить ключ с хост машины.


Импортирую репо (New Project -> Import -> Repo Url):
https://bitbucket.org/marley-golang/continuous-integration-on-gitlab/


Войти как root –> Admin area –> Runners –> Скопировать registration token


$ sudo gitlab-runner register


Please enter the gitlab-ci coordinator URL: [http://gitlab.local]
Please enter the gitlab-ci token for this runner: [<myToken>]
Please enter the gitlab-ci description for this runner: [local-docker-runner]
Please enter the gitlab-ci tags for this runner (comma separated): [go-runner]
Please enter the executor: [docker]
Default docker image: [golang:1.7]


Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!


$ sudo vi /etc/gitlab-runner/config.toml

В конец блока:

[runner.docker]

добавить

extra_hosts = ["gitlab.local:192.168.0.5"]


$ sudo gitlab-runner restart


Изменить в файле проекта, например, в файле main.go текст World на что-нибудь.

CI/CD -> Pipelines

Все OK.


Ошибки

Была ошибка:

ERRO[0000] Docker executor: prebuilt image helpers will be loaded from /var/lib/gitlab-runner.
Running in system-mode.

Пришлось переустановить runner. Ранее у меня был установлен из репозитория ubuntu. Установил из оф.репо. Заработало.


Полезные команды:


// Получить информацию по установленной версии gitlab
$ sudo gitlab-rake gitlab:env:info


// логи nginx
# gitlab-ctl tail nginx


Может быть полезно

Install GitLab Runner using the official GitLab repositories
https://docs.gitlab.com/runner/install/linux-repository.html