Установка GitLab Runner
GitLab Runner.gitlab-ci.yml
. Оно позволяет запускать автоматизированные сборки внутри кластера Managed Service for Kubernetes.
Перед началом работы
-
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
Откройте в браузере административную панель GitLab:
- Если GitLab развернут на виртуальной машине Yandex Compute Cloud, используйте ее публичный IP-адрес.
- Если GitLab развернут в сервисе Yandex Managed Service for GitLab, используйте FQDN инстанса.
-
Получите токен аутентификации GitLab Runner (Runner authentication token):
- Для настройки GitLab Runner для всего инстанса GitLab (требуются права администратора GitLab):
- Нажмите кнопку Admin area и выберите пункт CI/CD → Runners.
- Нажмите кнопку New instance runner и создайте новый GitLab Runner.
- Сохраните значение параметра
Runner authentication token
.
- Для настройки GitLab Runner для группы или проекта:
- Выберите необходимую группу или проект.
- В открывшемся окне слева нажмите кнопку Settings и выберите пункт CI/CD.
- В блоке Runners нажмите кнопку Expand.
- Нажмите кнопку New project runner и создайте новый GitLab Runner.
- Сохраните значение параметра
Runner authentication token
.
- Для настройки GitLab Runner для всего инстанса GitLab (требуются права администратора GitLab):
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога
и выберите сервис Managed Service for Kubernetes. - Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку
Marketplace. - В разделе Доступные для установки приложения выберите GitLab Runner и нажмите кнопку Перейти к установке.
- Задайте настройки приложения:
-
Пространство имен — выберите пространство имен для GitLab Runner или создайте новое.
-
Название приложения — укажите название приложения.
-
Имя домена GitLab — укажите домен вашего инстанса GitLab.
-
Регистрационный токен — укажите токен, полученный ранее.
-
(Опционально) Привилегированный режим для запуска docker:dind — включите опцию, чтобы использовать образы docker:dind.
Важно
Привилегированный режим повышает риск возникновения инцидентов информационной безопасности. Предварительно ознакомьтесь с документацией
. -
(Опционально) Список тэгов (через запятую) — укажите список тегов для распределения задач между несколькими GitLab Runner.
-
- Нажмите кнопку Установить.
- Дождитесь перехода приложения в статус
Deployed
. - Вернитесь на страницу Runners инстанса GitLab, обновите ее и убедитесь, что появился новый GitLab Runner.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Установите kubectl
и настройте его на работу с созданным кластером. -
Для установки Helm-чарта
с GitLab Runner выполните команду:helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/gitlab-org/gitlab-runner/chart/gitlab-runner \ --version 0.54.0-8 \ --untar && \ helm install \ --namespace <пространство_имен> \ --create-namespace \ --set gitlabDomain=<публичный_IP-адрес_ВМ_или_FQDN_инстанса_GitLab> \ --set runnerRegistrationToken=<ранее_полученный_токен> \ gitlab-runner ./gitlab-runner/
Примечание
Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку
export HELM_EXPERIMENTAL_OCI=1 && \
, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.
Примеры использования
- Непрерывное развертывание контейнеризованных приложений с помощью GitLab.
- Сканирование уязвимостей Container Registry при непрерывном развертывании приложений с помощью GitLab.
- Хранение Docker-образов в Yandex Container Registry.