Перейти к содержанию

Пошаговое руководство по интеграции BeeCR через CI/CD шаблон (для более старых версий GitLab)

Данное руководство поможет вам пройти процесс настройки BeeCR в проекте в GitLab через CI/CD шаблон. Руководство актуально как для современных версий GitLab, так и для более старых.

⚠️ Примечание: В данном руководстве описано, как настроить проект в GitLab через CI/CD шаблон на конкретном примере. Если вам нужна обзорная документация по CI/CD шаблону, обратитесь к этому документу. Если же вам нужна общая документация по CI/CD компоненту (работает только современных версиях GitLab 17+), то обратитесь к этому документу.

📄 Требования

  1. Вы получили доступ к BeeCR SaaS или развернули BeeCR на собственном сервере.
  2. Вы обладаете достаточным уровнем прав для настройки проекта в GitLab и создание токенов доступа.

1️⃣ Создайте токен доступа к GitLab

Сервер BeeCR должен доступ к вашему репозиторию для проведения проверки кода. GitLab предоставляет несколько типов токенов:

Мы рекомендуем вам создать токен проекта или группы. Групповой токен более удобен, если вы собираетесь использовать BeeCR в нескольких проектах в одной группе.

Выполните следующие действия:

  1. Чтобы создать токен, перейдите в "Настройки" проекта или группы, затем в "Токены доступа" (Access Tokens) и создайте новый токен.
  2. Токен должен иметь права как минимум уровня "Developer" и предоставлять доступ к "api".
  3. Дайте токену осмысленное имя, например, "BeeCR Code Reviewer", поскольку комментарии к коду будут написаны ботом, представляющимся этим именем.

2️⃣ Убедитесь, что на проекте доступен CI/CD

Пропустите этот шаг, если вы знакомы с GitLab CI/CD и уверены, что он доступен на вашем проекте. В противном случае, рекомендуем убедиться, что CI/CD включен, и что хотя бы один CI/CD сервер (GitLab Runner) доступен в настройках вашего проекта:

  1. Перейдите в "Settings" (настройки проекта), затем в "General", и прокрутите до "Visibility, project features, permissions". Опция "CI/CD" должна быть включена.
  2. Перейдите в "Настройки" проекта, затем в "CI/CD", и разверните раздел "Runners". Убедитесь, что хотя бы один CI/CD сервер (проектный, групповой или общесистемный) доступен.

Если на вашем проекте не доступен CI/CD, обратитесь к вашему администратору GitLab, системному администратору или команде DevOps. Также вы можете рассмотреть альтернативный метод интеграции через "Webhook", не требующий CI/CD.

3️⃣ Настройте основные параметры

Определите следующие переменные CI/CD в вашем проекте или группе (или даже общесистемно для всего GitLab сервера, если используемый вами GitLab развернут на ваших серверах и вы имеете соответствующие права доступа):

  • BEECR_API_KEY – API-ключ, предоставленным вам командой BeeCR (необходим только при использовании BeeCR SaaS).
  • BEECR_GITLAB_TOKEN – токеном доступа к GitLab, созданным на одном из предыдущих этапов.

4️⃣ Подключите CI/CD шаблон

  1. Создайте (или измените, если уже существует) конфигурационный файл .gitlab-ci.yml в корне вашего репозитория. Добавьте этап проверки кода review в список CI/CD этапов (stages). Подключите CI/CD шаблон BeeCR с помощью ключевого слова include.
stages:
  - review

include:
  - remote: 'https://gitlab.com/cvisionlab/beecr/-/raw/main/templates/beecr/template-always.yml'

💡 Совет: Если вы используете GitLab, развернутый на ваших собственных серверах и подключение CI/CD шаблонов с внешнего репозитория не разрешено политикой вашей организации, вы можете склонировать наш репозиторий в ваш GitLab или же просто скопировать и вставить в вашу конфигурацию содержимое YML файла.

⚠️ Примечание: По тем или иным причинам вы можете захотеть контролировать выполнение задачи проверки кода вручную. Для этих целей просто подключите шаблон template-manual.yml вместо template-always.yml.

5️⃣ Сконфигурируйте CI/CD шаблон

Настройки по умолчанию, установленные в предоставленном CI/CD шаблоне, удовлетворяют потребностям большинства пользователей. Однако вы можете дополнительно захотеть настроить некоторые параметры (через переменные среды).

GitLab предоставляет два альтернативных способа установки переменных:

Ниже приведены несколько примеров. Для получения дополнительной информации о доступных опциях обратитесь к соответствующей документации для CI/CD шаблона.

Адрес API сервера

Если вы используете API сервер BeeCR, развернутый на ваших собственных серверах, то вам необходимо задать его адрес. Для этого просто установите переменную BEECR_URL в актуальное значение (например, http://192.168.1.2:8000).

Пример:

stages:
  - review

include:
  - remote: 'https://gitlab.com/cvisionlab/beecr/-/raw/main/templates/beecr/template-always.yml'

beecr:
  variables:
    BEECR_URL: 'http://192.168.1.2:8000'

Список файлов для проверки

Еще один пример - настройка списка расширений файлов для проверки. По умолчанию проверка включена для файлов со следующими расширениями:

  • Python: .py
  • C/C++: .h, .hpp, .c, .cpp
  • C#: .cs
  • Java: .java
  • Kotlin: .kr
  • Swift: .swift
  • PHP: .php
  • Go: .go
  • Bash/Shell: .sh
  • JavaScript/Typescript: .js, .jsx, .mjs, .mjsx, .ts, .tsx

  • Если вы хотите значительно сократить список поддерживаемых расширений (например, оставить только .java), то определите опцию BEECR_TARGET как \.java$.

  • Если вы удовлетворены списком по умолчанию, но хотите добавить еще одно или несколько расширений, например, .md, то наиболее удобным способом будет определить опцию BEECR_TARGET_EXTRA как \.md$.
  • Если вы хотите исключить некоторые расширения из списка по умолчанию, например, .sh, то мы рекомендуем определить опцию BEECR_TARGET_EXCLUDE как \.sh$

Более подробно о том, как управлять списком файлов, подлежащих проверке, читайте в разделе документации с обзором CI/CD компонента

Пример:

stages:
  - review

include:
  - remote: 'https://gitlab.com/cvisionlab/beecr/-/raw/main/templates/beecr/template-always.yml'

beecr:
  variables:
    BEECR_TARGET_EXCLUDE: '\.sh$'

👍 Заключение

Из данного руководства вы узнали, как настроить проект в GitLab для интеграции с BeeCR, создав токены доступа, подключив CI/CD шаблон и настроив основные параметры. Следуя этим шагам, вы подготовили ваш GitLab проект к процессам проверки кода с помощью BeeCR. Если вам нужна дополнительная помощь или дополнительная информация, не стесняйтесь обращаться к этому учебному пособию или обращаться в поддержку BeeCR.