Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Gitlab Runner + docker


 

Gitlab Runner + docker


Gitlab Runner - используется для запуска задач (jobs)
Выполняет тесты при коммите в Docker контейнере, реализует автоматическое тестирование кода


На сервере с gitlab указываем директиву в зависимости от вашего настроенного url на gitlab:
# cat /etc/gitlab/gitlab.rb | grep registry_external_url
registry_external_url 'https://gitlab.domain.local'

# cat /etc/gitlab/gitlab.rb | grep registry_nginx
registry_nginx['listen_port'] = 80
registry_nginx['listen_https'] = false

Рестартуем:
# gitlab-ctl reconfigure


На машине с docker установим Gitlab Runner:
# wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# chmod +x /usr/local/bin/gitlab-runner
# useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
# gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
# gitlab-runner start


Установим docker:
# curl -sSL https://get.docker.com/ | sh


Зарегистрируйте бегуна, токен Gitlab-CI доступен на панели настроек CI / CD из пользовательского интерфейса:
https://gitlab.domain.local/<account>/<repo>/settings/ci_cd
Найдите Runners - Runner token
И например включим Group Runners

Или в https://gitlab.domain.local/admin/runners


Регистрируем 1 способ:
# gitlab-runner register
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
url вашего gitlab: https://gitlab.domain.local

Please enter the gitlab-ci token for this runner:
Тут придумайте токе, например: 401c833b25a2ec189ed1419564b7ba

Please enter the gitlab-ci description for this runner:
[my-runner]: my-runner

Please enter the gitlab-ci tags for this runner (comma separated):
my-runner,foobar
Registering runner... succeeded                     runner=66m_339h

Please enter the executor: docker-ssh+machine, docker, docker-ssh, parallels, shell, ssh, virtualbox, docker+machine, kubernetes:
docker

Please enter the default Docker image (e.g. ruby:2.1):
alpine:latest

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


Регистрируем 2 способ:
# gitlab-runner register
 --url=https://gitlab.domain.local
 --registration-token=401c833b25a2ec189ed1419564b7ba
 --non-interactive=true
 --locked=false
 --name=my-runner
 --executor=docker
 --docker-image=docker:stable
 --docker-volumes=/var/run/docker.sock:/var/run/docker.sock


Справка:
gitlab-runner register -h


# Статус и включение:

# gitlab-runner status
Runtime platform                       arch=amd64 os=linux pid=9172 revision=cf91d5e1 version=11.4.2
gitlab-runner: Service is running!

# systemctl is-enabled gitlab-runner
enabled

# systemctl is-enabled docker
enabled


Запускаемся и проводим регистрацию:
# docker run -d --name gitlab-runner
 --restart always
 -v /var/run/docker.sock:/var/run/docker.sock
 --volumes-from gitlab-runner-config
 gitlab/gitlab-runner:latest

# docker exec -it gitlab-runner gitlab-runner register


В CI/CD можно увидеть коммиты проекта

Passed выведет подробности

Дебаг:
# docker logs gitlab-runner


Пример конфига:
# docker exec -it gitlab-runner cat /etc/gitlab-runner/config.toml
concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "developers"
  url = "https://gitlab.domain.local/"
  token = "401c833b25a2ec189ed1419564b7ba"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "ruby:2.1"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

[[runners]]
  name = "devops"
  url = "https://gitlab.domain.local/"
  token = "101c833b25a2ec159ed1419564b2ba"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "python:3.6"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект