21 мая вышел мажорный релиз, переосмысляющий то, как платформа управляет жизненным циклом от идеи до деплоя. Теперь платформа берёт на себя операционную работу, оставляя командам только решения, требующие человеческого размышления.
⚪️ Автономное ведение Merge Request (MR): Duo Developer теперь может самостоятельно вести MR от первого коммита до слияния. ИИ-агента можно активировать через
@assign в issue, по кнопке «Generate MR» или через @mention. Агент умеет запускать тесты и линтеры перед коммитом (настраивается через файлы AGENTS.md и agent-config.yml).⚪️ Разрешение конфликтов слияния (Beta): появилась функция автоматического разрешения конфликтов с помощью ИИ (Resolve with Duo). ИИ анализирует конфликтующие файлы, правит их с учетом контекста обеих веток и делает коммит в source-ветку (правила protected branches строго соблюдаются).
⚪️ Групповые инструкции для ИИ-ревью: теперь правила для ИИ-кода можно задавать глобально на уровне группы. Они каскадно наследуются и дополняются проектными инструкциями, избавляя от необходимости дублировать файлы конфигурации в каждом репозитории.
⚪️ GitLab Secrets Manager: главная архитектурная особенность — принцип наименьших привилегий. Секреты больше не «прилетают» во все job'ы пайплайна автоматически как обычные CI/CD переменные, конкретный job должен явно запросить нужный секрет через конфигурацию
secrets: vault:....⚪️ SBOM-подход в Dependency Scanning: обновленный сканер зависимостей (v2) строит полный граф программных компонентов (Software Bill of Materials), что позволяет находить уязвимости глубоко внутри транзитивных зависимостей, которые старый сканер не видел. Если lock-файла нет, анализатор пытается сгенерировать его автоматически.
⚪️ Шаблоны заголовков MR: добавлена долгожданная фича — возможность жестко задать шаблон заголовка Merge Request на уровне проекта с использованием динамических переменных (например,
Resolve %{issue_id} "%{issue_title}").⚪️ Массивы в CI/CD Inputs: теперь можно обращаться к элементам по индексу (
$[[ inputs.services[0] ]]), а при ручном запуске пайплайна в UI можно выбирать несколько значений из выпадающего списка, которые автоматически объединятся в массив.⚪️ HMAC-подписи для Webhooks: вместо передачи статического токена в открытом виде (
X-Gitlab-Token), GitLab теперь вычисляет и отправляет безопасную подпись HMAC-SHA256, защищая интеграции от перехвата и replay-атак.GitLab 19.0 переходит от концепции «ИИ как ассистент, пишущий код» к концепции «ИИ как полноценный участник процессов», способный самостоятельно тестировать, проверять безопасность, разрешать конфликты веток и управлять инфраструктурными секретами, снижая нагрузку на инженеров.
@DevOpsKaz 😛
