Пошаговое руководство по интеграции BeeCR через CI/CD шаблон (для более старых версий GitLab)
Данное руководство поможет вам пройти процесс настройки BeeCR в проекте в GitLab через CI/CD шаблон. Руководство актуально как для современных версий GitLab, так и для более старых.
⚠️ Примечание: В данном руководстве описано, как настроить проект в GitLab через CI/CD шаблон на конкретном примере. Если вам нужна обзорная документация по CI/CD шаблону, обратитесь к этому документу. Если же вам нужна общая документация по CI/CD компоненту (работает только современных версиях GitLab 17+), то обратитесь к этому документу.
📄 Требования
- Вы получили доступ к BeeCR SaaS или развернули BeeCR на собственном сервере.
- Вы обладаете достаточным уровнем прав для настройки проекта в GitLab и создание токенов доступа.
1️⃣ Создайте токен доступа к GitLab
Сервер BeeCR должен доступ к вашему репозиторию для проведения проверки кода. GitLab предоставляет несколько типов токенов:
Мы рекомендуем вам создать токен проекта или группы. Групповой токен более удобен, если вы собираетесь использовать BeeCR в нескольких проектах в одной группе.
Выполните следующие действия:
- Чтобы создать токен, перейдите в "Настройки" проекта или группы, затем в "Токены доступа" (Access Tokens) и создайте новый токен.
- Токен должен иметь права как минимум уровня "Developer" и предоставлять доступ к "api".
- Дайте токену осмысленное имя, например, "BeeCR Code Reviewer", поскольку комментарии к коду будут написаны ботом, представляющимся этим именем.
2️⃣ Убедитесь, что на проекте доступен CI/CD
Пропустите этот шаг, если вы знакомы с GitLab CI/CD и уверены, что он доступен на вашем проекте. В противном случае, рекомендуем убедиться, что CI/CD включен, и что хотя бы один CI/CD сервер (GitLab Runner) доступен в настройках вашего проекта:
- Перейдите в "Settings" (настройки проекта), затем в "General", и прокрутите до "Visibility, project features, permissions". Опция "CI/CD" должна быть включена.
- Перейдите в "Настройки" проекта, затем в "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 шаблон
- Создайте (или измените, если уже существует) конфигурационный файл
.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 задачи (т.н. deep merging). Конфигурацию включенной задачи можно осуществить, объявив локальную задачу с тем же именем и переопределив параметры.
- Задание переменных CI/CD в настройках GitLab для проекта, группы проектов или даже экземпляра GitLab (если вы используете 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.