Подключение к CI
Учётная запись-бот и секреты CI
Учётная запись-бот
Замечания приходят от имени владельца токена GIT_PROVIDER_TOKEN. Отдельный бот лучше личного токена: ревью видно
сразу, увольнение сотрудника не остановит сервис, а /review от владельца токена Runner считает своим и не учитывает.
| Платформа | Роль бота в репозитории | Где создать токен |
|---|---|---|
| GitLab | Developer или выше; scope api |
User settings → Access tokens, или Project access token: Settings → Access tokens |
| GitFlic | Минимум Developer; с Administrator Runner проверяет роли и засчитывает /review от участников |
Настройки профиля → токены |
| GitVerse | Право записи в репозиторий; учётной записи нужен отдельный номер телефона | Настройки профиля бота → токены |
Права утверждать и сливать merge request боту не давайте. Текст модели перед публикацией нейтрализуется, но если инъекция в коде MR заставит модель написать команду, исполнить её будет нечем — это второй барьер.
Четыре секрета
| Секрет | Что это |
|---|---|
CINS_PROJECT_KEY |
Ключ проекта — показывается один раз при выпуске, новый — на вкладке «Ключи» |
GIT_PROVIDER_TOKEN |
Токен бота |
LLM_API_KEY |
Ключ API основной модели |
LLM_FALLBACK_API_KEY |
Ключ резервной модели — если она выбрана |
Значения секретов не попадают ни в репозиторий, ни в панель. На «Подключении» список подстраивается под выбор модели.
| Платформа | Где заводить | Как |
|---|---|---|
| GitLab | Settings → CI/CD → Variables | Тип Variable, флаг Masked. Protected не ставить — иначе переменные не дойдут до пайплайнов веток MR |
| GitFlic | «Настройки» → «Настройки CI/CD» → «Переменные CI/CD» | С маскированием |
| GitVerse | «Настройки» → «Секреты и переменные» | Секреты репозитория |
Runner маскирует значения секретов во всех своих выводах — в логе job'а, сообщениях об ошибках и данных, которые уходят в панель.