OpenCode GitLab
OpenCode также можно интегрировать в рабочие процессы GitLab, автоматически выполняя задачи в Issues, Merge Requests и конвейерах CI/CD.
Его ключевая особенность — работа на вашем GitLab Runner, что обеспечивает безопасную и контролируемую автоматизированную разработку с помощью ИИ.
OpenCode GitLab = Интеграция ИИ в CI/CD, автоматизация анализа кода, исправлений и ревью.
1. Обзор способов интеграции
В GitLab есть два основных способа использования OpenCode:
- GitLab CI (рекомендуется): выполнение OpenCode через конвейеры CI/CD
- GitLab Duo (запуск по комментарию): запуск через @opencode в комментариях
2. Интеграция с GitLab CI (основной способ)
OpenCode можно интегрировать в ваш конвейер как CI-компонент для автоматизации выполнения задач.
Здесь мы используем компонент сообщества:
nagyv/gitlab-opencode
1. Возможности
- Пользовательская конфигурация для каждой задачи: поддерживает независимые каталоги конфигурации
- Минимальные затраты на интеграцию: не требуется сложная инициализация
- Высокая настраиваемость: поддерживает многопараметрическое управление поведением
2. Шаги настройки
① Настройте данные аутентификации
В вашем проекте GitLab:
- Перейдите в Настройки → CI/CD → Переменные
- Добавьте переменные:
OPENCODE_AUTH_JSON
Требования:
- Тип: Файл
- Установите флажки Masked и Hidden
② Настройте конвейер
Создайте или измените в корне проекта:
.gitlab-ci.yml
Пример:
include:
- component: $CI_SERVER_FQDN/nagyv/gitlab-opencode/opencode@2
inputs:
config_dir: ${CI_PROJECT_DIR}/opencode-config
auth_json: $OPENCODE_AUTH_JSON
command: optional-custom-command
message: "Explain the codebase structure"
③ Описание параметров
| Параметр | Описание |
|---|---|
| config_dir | Каталог конфигурации OpenCode |
| auth_json | Информация для аутентификации (API Key) |
| command | Команда выполнения (необязательно) |
| message | Промпт |
3. Сценарии использования
- Автоматически анализировать структуру кода
- Пакетный рефакторинг кода
- Автоматически генерировать документацию
- Автоматически проверять качество кода на этапах CI
3. Интеграция с GitLab Duo (запускается комментарием)
Подобно /opencode в GitHub, GitLab использует@opencodeдля запуска.
Когда вы комментируете задачу или запрос на слияние:
@opencode your prompt
OpenCode будет автоматически выполнять задачи в GitLab CI
1. Возможности
- Анализ задач: Автоматическое понимание задач
- Автоматические исправления: Создать ветку и отправить MR
- Ревью кода: Анализ запросов на слияние
Возможности:
- Работает на GitLab Runner
- Безопасно, не зависит от внешних сред выполнения
2. Шаги настройки
Чтобы использовать @opencode, необходимо выполнить следующую настройку:
- Настроить конвейер GitLab CI/CD
- Подготовить API-ключ
- Создать сервисную учетную запись
- Настроить переменные CI/CD
- Создать файл конфигурации Flow
Примечание:
Для получения конкретных сведений обратитесь к официальной документации GitLab CLI Agents (может немного отличаться в зависимости от версии).
4. Обычное использование
1. Объяснение задач
@opencode explain this issue
Автоматически обобщать задачи и предоставлять объяснения
2. Автоматическое исправление задач
@opencode fix this
Автоматически:
- Создать новую ветку
- Измените код
- Отправить запрос на слияние
3. Проверка запросов на слияние
@opencode review this merge request
Автоматический анализ:
- Качество кода
- Потенциальные ошибки
- Рекомендации по оптимизации
5. Продвинутые советы
1. Пользовательские триггерные слова
Вы можете@opencodeзамените его другими триггерными ключевыми словами.
2. Конфигурация на уровне задачи
Используя разные config_dir, можно получить:
- Разные модели для разных задач
- Разные правила для разных проектов
3. Интеграция с автоматизацией CI
Вы можете получить:
- Плановое сканирование проблем в коде
- Автоматическое формирование еженедельного отчёта
- Автоматическое исправление простых ошибок
6. Безопасность и лучшие практики
- Используйте переменные CI/CD для хранения секретов
- Избегайте жёсткого кодирования API-ключей в коде
- Разумно управляйте правами Runner
- Ограничивайте область автоматических изменений кода