Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Организация сине-зеленого и канареечного развертывания версий веб-сервиса
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Тестирование приложений с помощью GitLab
    • Создание тестовых ВМ через GitLab CI
    • Интеграция GitLab с Tracker
    • Высокопроизводительные вычисления (HPC) на прерываемых ВМ
    • Нагрузочное тестирование gRPC-сервиса
    • HTTPS-тест с постоянной нагрузкой с помощью Phantom
    • HTTPS-тест со ступенчатой нагрузкой с помощью Pandora
    • HTTP-тест с нагрузкой по сценарию с помощью Pandora
    • Нагрузочное тестирование с нескольких агентов
    • Миграция результатов нагрузочного тестирования из OverLoad
    • Запуск внешних агентов для нагрузочного тестирования
    • Нагрузочный тест с помощью JMeter
    • Получение статистики запросов к объектам Object Storage с использованием Query
    • Получение количества запросов к объектам Object Storage
    • Вызов нагрузочного тестирования из GitLab CI
    • Развертывание GitLab Runner на виртуальной машине Compute Cloud
    • Сравнение результатов нагрузочных тестов

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подключите Yandex Tracker
  • Создайте инстанс GitLab
  • (Опционально) Создайте проект GitLab
  • Создайте хук для интеграции
  • Протестируйте хук
  • Проверьте результат
  • Удалите созданные ресурсы
  1. Разработка и тестирование
  2. Интеграция GitLab с Tracker

Интеграция GitLab с Yandex Tracker

Статья создана
Yandex Cloud
Обновлена 31 марта 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подключите Yandex Tracker
  • Создайте инстанс GitLab
  • (Опционально) Создайте проект GitLab
  • Создайте хук для интеграции
  • Протестируйте хук
  • Проверьте результат
  • Удалите созданные ресурсы

В задачах Tracker можно автоматически добавлять ссылки на мерж-реквесты из GitLab, указывая ключ нужной задачи в названии или описании нового мерж-реквеста. Ссылки будут размещаться в разделе Связи с внешними приложениями.

Дополнительно можно включить автоматическое создание комментариев в задаче с информацией о мерж-реквестах. Автоматическое комментирование доступно только для Managed Service for GitLab.

Чтобы настроить интеграцию с GitLab в Tracker:

  1. Подключите Yandex Tracker.
  2. Создайте инстанс GitLab.
  3. (Опционально) Создайте проект GitLab.
  4. Создайте хук для интеграции.
  5. Протестируйте хук.
  6. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсы

В стоимость поддержки инфраструктуры входит:

  • Плата за диск и постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud).
  • Плата за количество пользователей Tracker с полным доступом, если их более 5 (см. тарифы Tracker).
  • Плата за использование публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud).

Подключите Yandex Tracker

Подключите Tracker к вашей организации Yandex Cloud.

Создайте инстанс GitLab

Создайте инстанс Managed Service for GitLab или виртуальную машину с образом GitLab.

Инстанс Managed Service for GitLab
ВМ с образом GitLab

Создайте инстанс Managed Service for GitLab согласно инструкции.

Запустите GitLab на ВМ с публичным IP-адресом.

  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В блоке Образ загрузочного диска в поле Поиск продукта введите Gitlab и выберите публичный образ GitLab.

  3. В блоке Расположение выберите зону доступности, в которой будет находиться ВМ. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.

  4. В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация и укажите необходимую платформу, количество vCPU и объем RAM:

    • Платформа — Intel Ice Lake.
    • vCPU — 4.
    • Гарантированная доля vCPU — 100%.
    • RAM — 8 ГБ.
  5. В блоке Сетевые настройки:

    • В поле Подсеть выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, создайте их.
    • В поле Публичный IP-адрес оставьте значение Автоматически, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
  6. В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя. Не используйте имя root или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду sudo.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

      • Нажмите кнопку Добавить ключ.
      • Задайте имя SSH-ключа.
      • Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
      • Нажмите кнопку Добавить.

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

      Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.

  7. В блоке Общая информация задайте имя ВМ: ci-tutorial-gitlab.

  8. Нажмите кнопку Создать ВМ.

Создание ВМ может занять несколько минут. Когда ВМ перейдет в статус RUNNING и запустится GitLab, настройте его.

(Опционально) Создайте проект GitLab

Чтобы настроить интеграцию для отдельного проекта GitLab, создайте его.

Инстанс Managed Service for GitLab
ВМ с образом GitLab
  1. Авторизуйтесь в веб-интерфейсе инстанса Managed Service for GitLab.

  2. Нажмите кнопку Create a project.

  3. Нажмите кнопку Create blank project.

  4. Заполните поля:

    • Project name — укажите имя проекта.
    • Project URL — выберите пользователя-администратора в поле рядом с FQDN инстанса Managed Service for GitLab.

    Остальные поля оставьте без изменений.

  5. Нажмите кнопку Create project.

  1. На странице сервиса Yandex Compute Cloud выберите созданную ВМ и скопируйте ее публичный IP-адрес.

  2. Подключитесь к ВМ по протоколу SSH.

  3. Получите пароль администратора GitLab с помощью команды ВМ:

    sudo cat /etc/gitlab/initial_root_password
    
  4. Скопируйте пароль из строки Password (исключая пробелы) в буфер обмена или отдельный файл.

  5. Откройте в браузере ссылку http://<публичный_IP-адрес_ВМ>. Откроется веб-интерфейс GitLab.

  6. Войдите в систему с учетной записью администратора:

    • Username or email — root.
    • Password — пароль, скопированный ранее.

    Если вы не можете войти, сбросьте пароль учетной записи администратора.

  7. Смените пароль учетной записи администратора.

  8. Повторно войдите в систему с учетной записью администратора, используя новый пароль.

  9. Выберите Create a project.

  10. Укажите имя проекта.

  11. Нажмите кнопку Create project.

Создайте хук для интеграции

Чтобы привязывать мерж-реквесты из GitLab к задачам в Tracker, создайте хук:

  1. Если у вас еще нет OAuth-токена для работы с Tracker API, получите его.
  2. Проверьте наличие доступа к API с помощью запроса информации о текущем пользователе.
  3. Откройте инстанс GitLab и перейдите к настройкам хука:
    • Для включения интеграции на весь инстанс GitLab (требуются права администратора GitLab):
      1. В панели слева нажмите на раскрывающийся список Your work и выберите пункт Admin Area.
      2. Перейдите в раздел System Hooks.
    • Для включения интеграции на отдельный проект:
      1. Перейдите в необходимый проект.
      2. В панели слева нажмите кнопку Settings и выберите пункт Webhooks.
  4. Укажите параметры хука:
    • URL — https://api.tracker.yandex.net/v2/system/gitlab/receive?comments=true&<тип_организации>=<идентификатор_организации>.

      Где:

      • comments=true — включает автоматическое создание комментариев в задаче со ссылкой и информацией о мерж-реквестах. Отключите, если комментирование не нужно. Параметр доступен только для Managed Service for GitLab.

      • <тип_организации> — может принимать следующие значения:

        • x_cloud_org_id — если тип вашей организации Yandex Cloud Organization.
        • x_org_id — если тип вашей организации или Яндекс 360 для бизнеса, или одновременно Яндекс 360 для бизнеса и Yandex Cloud Organization.
      • <идентификатор_организации> — идентификатор организации на странице организаций Tracker.

    • Secret token — OAuth-токен робота, от имени которого будут добавляться связи, в формате OAuth <содержимое_токена>.
      Например: OAuth y1_AQAD-qJScAAAEKEQbBNnChvfBIqR_yEQl_HMO0********.

    • В блоке Trigger выключите все опции, кроме Merge request events.

    • В блоке SSL verification включите опцию Enable SSL verification.

  5. Нажмите кнопку Add system hook (Add webhook для отдельного проекта).

На странице появится блок System Hooks (Project Hooks для отдельного проекта), в котором отобразится созданный хук и его параметры.

Протестируйте хук

  1. В блоке System Hooks (Project Hooks для отдельного проекта) нажмите кнопку Test.
  2. В раскрывающемся списке выберите пункт Merge request events.

Тестовый запрос должен вернуть ответ Hook executed successfully: HTTP 204. Если тестовый запрос возвращает ошибку, значит параметры хука указаны неверно.

Проверьте результат

  1. Создайте задачу в Tracker.

  2. Создайте мерж-реквест в GitLab и укажите в его названии или описании ключ задачи.

  3. Убедитесь, что в задаче Tracker в разделе Связи с внешними приложениями появилась ссылка на мерж-реквест из GitLab.

    Если вы использовали Managed Service for GitLab и включили автоматическое комментирование при создании хука, то в задаче появится комментарий со ссылкой на мерж-реквест и информацией о нем.

Удалите созданные ресурсы

Удалите ресурсы, которые вы больше не будете использовать, чтобы за них не списывалась плата:

  1. Удалите инстанс Managed Service for GitLab или созданную ВМ с образом GitLab.
  2. Если вы зарезервировали публичный статический IP-адрес для ВМ, освободите и удалите его.

Была ли статья полезна?

Предыдущая
Создание тестовых ВМ через GitLab CI
Следующая
Высокопроизводительные вычисления (HPC) на прерываемых ВМ
Проект Яндекса
© 2025 ООО «Яндекс.Облако»