Попытка запустить 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