Мы с радостью объявляем о новом релизе GitLab 17.10 с бета-версией Duo Code Review, анализатором ошибок Root Cause Analysis для GitLab Duo с самостоятельным хостингом, бета-версией представлений в GitLab Query Language (GLQL), новыми метриками DORA для визуализации производительности DevOps и многими другими фичами!
Это лишь несколько из более 120 улучшений, добавленных в этом релизе. Читайте дальше, чтобы узнать обо всех основных изменениях.
Мы благодарны сообществу GitLab за более чем 205 изменений, которые вы внесли в релиз 17.10!
(SaaS: ULTIMATE, DUO ENTERPRISE; self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: Create
Ревью кода — это один из основных этапов разработки ПО. Оно обеспечивает поддержку и улучшение качества и безопасности кода в результате внесения изменений в проект. В процессе ревью разработчики делятся своим опытом и дают фидбек. Также это одно из самых трудоёмких действий в процессе разработки ПО.
Ревью кода от GitLab Duo — это следующая ступень эволюции процесса ревью кода.
Duo Code Review поможет ускорить ваш процесс разработки ПО. Когда Duo Code Review выполняет предварительное ревью вашего мерж-реквеста, оно может выявить потенциальные ошибки и предложить дальнейшие улучшения, причём некоторые из них вы можете принимать прямо в вашем браузере. Используйте Duo Code Review, чтобы улучшить ваш код до того, как его будет оценивать ревьюер.
Попробуйте эту фичу:
@GitLabDuo
в качестве ревьюера вашего мерж-реквеста.@GitLabDuo
в комментарии.Вы можете следить за дальнейшим развитием Duo Code Review в эпике 13008 и связанных дочерних эпиках. Фидбек можно оставить в тикете 517386.
Документация по ревью при помощи Duo Code Review и оригинальный эпик.
(self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered Теперь вы можете использовать фичу анализа причин неудачного завершения заданий (GitLab Duo Root Cause Analysis) в GitLab Duo с самостоятельным хостингом. Эта фича доступна в бета-версии для инстансов GitLab с самостоятельным управлением в и с поддержкой GitLab Duo. Она позволяет работать с GPT-моделями семейств Mistral, Anthropic и OpenAI. Благодаря самостоятельному хостингу GitLab Duo вы можете быстрее искать ошибки в заданиях CI/CD, завершившихся с ошибкой, не жертвуя при этом безопасностью данных. Root Cause Analysis анализирует лог задания, быстро определяет причину ошибки и предлагает исправление. Мы будем рады вашему фидбеку по этой фиче. Вы можете оставить его в тикете 523912. Документация по возможностям GitLab Duo и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Чтобы следить за всеми находящимися в работе задачами по всему GitLab, вам приходится переключаться между несколькими локациями, что снижает эффективность работы команды и отнимает много времени. В этом релизе мы добавили в GitLab Query Language (GLQL) бета-версию создания представлений, которые помогут вам отслеживать работу в реальном времени, не выходя за рамки существующих рабочих процессов. Представления GLQL встраивают запросы к данным в реальном времени в формате markdown-кода в вики-страницы, описания эпиков, комментарии к тикетам и мерж-реквесты. Эта фича ранее была экспериментальной, а теперь становится доступной в бета-версии. В ней добавлена поддержка сложной фильтрации при помощи логических выражений и операторов по ключевым полям, таким как assignee (исполнитель), author (автор), label (метка) и milestone (майлстоун). Вы можете выбрать в качестве представления таблицу или список, выбрать отображаемые поля и настроить ограничения, чтобы ваша команда получала точечные и применимые инсайты. Таким образом команды смогут получать нужную информацию, не теряя представление о текущем контексте, что способствует общему пониманию и более продуктивной совместной работе, и всё это — в рамках их рабочего процесса. Мы будем рады вашему фидбеку по представлениям GLQL по мере того, как мы продолжаем развивать эту фичу.
Документация по представлениям GLQL и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Мы добавили в GitLab Flavored Markdown несколько крутых улучшений:
+s
к URL);+
к URL);include
;(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Тикеты теперь работают в рамках единого фреймворка с эпиками и заданиями, что включает в себя обновления в реальном времени и улучшения рабочего процесса:
/set_parent
, /remove_parent
, /add_child
и /remove_child
.(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Теперь вы можете использовать шаблоны описаний рабочих элементов GitLab (эпиков, задач, целей и ключевых результатов), чтобы оптимизировать свой рабочий процесс и поддерживать единообразие во всех своих проектах. Эта новая фича позволит вам создать стандартные шаблоны основных рабочих элементов. В шаблонах будет вся важная информация, и вам не придётся тратить лишнее время на повторное заполнение. Документация по шаблонам описаний и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations Теперь управлять вашими списками to-do стало намного удобнее с нашей расширенной фичей группового редактирования. Вы можете выбрать несколько элементов в списке to-do и отметить их как завершённые или отложить одним кликом. Это упростит вам управление своими задачами и организацию рабочего процесса.
Документация по групповому редактированию элементов в списке to-do и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations Теперь вы можете отключить уведомления по заданиям из списка to-do, что позволит временно скрыть эти задания и сфокусироваться на более важных на данный момент вещах. Вы можете отключить уведомления хоть на час, хоть на день, или точно настроить, через какое время уведомления они снова будут отображаться.
Документация по отключению уведомлений и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
You can now authenticate to private GitLab Pages sites programmatically using access tokens, making it easier to automate interactions with your Pages content. Previously, accessing restricted Pages sites required interactive authentication through the GitLab UI. Ранее для получения доступа к приватным страницам Pages требовалось выполнять аутентификацию через графический интерфейс. Теперь аутентификацию можно выполнять с использованием токенов доступа. Это упростит автоматизацию взаимодействия с содержимым этих страниц и его распространения, предоставляя разработчикам больше гибкости и повышая продуктивность их работы, но, в то же время, сохраняя безопасность данных. Документация по аутентификации на GitLab Pages с токенами доступа и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create Для разных рабочих процессов Git требуются разные стратегии решения конфликтов при мерже коммитов из разных веток. В предыдущих версиях GitLab вы могли задать только одну стратегию, которая определяла, нужно ли склеивать коммиты при мерже и насколько строго это должно выполняться. Такая настройка могла вызывать ошибки или требовать от разработчиков принятия определённых решений, чтобы следовать единому соглашению по работе с разными целевыми ветками данного проекта. Теперь вы можете настроить правила склейки (squash) коммитов для каждой защищённой ветки проекта через правила ветки. Например, можно задать:
Документация по настройке правил склейки коммитов и оригинальный эпик.
CODEOWNERS
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Когда команды выполняют настройку файла CODEOWNERS
, зачастую в него включают записи с шаблоном наиболее широкого поиска путей и файлов. Это может вызывать проблемы, если ваша документация, файлы автоматической сборки или другие элементы проекта не требуют наличия определённого владельца кода.
Теперь вы можете задать в файле CODEOWNERS
исключения, чтобы игнорировать определённые пути. Это может быть полезно, если вам нужно исключить определённые файлы или пути, чтобы они не требовали подтверждения от владельца кода.
Документация по шаблонам исключений в файле
CODEOWNERS
и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
Прокси-сервер зависимостей GitLab для образов контейнеров теперь поддерживает аутентификацию с помощью Docker Hub, что поможет избежать сбоев конвейера из-за ограничений скорости и предоставит доступ к приватным образам контейнеров. Начиная с 1 апреля 2025 года Docker Hub будет применять более строгие ограничения на пулл (10 пуллов на один IP-адрес) для неаутентифицированных пользователей. Без аутентификации ваши конвейеры могут завершиться неудачно, как только эти лимиты будут превышены. Начиная с этого релиза, вы сможете настроить аутентификацию через Docker Hub при помощи API GraphQL, используя ваши учётные данные Docker Hub, личный токен доступа или токены доступа организации. Поддержка соответствующей настройки пользовательского интерфейса будет доступна в GitLab 17.11. Документация по аутентификации через Docker Hub и оригинальный тикет.
(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security
При использовании GitLab в качестве поставщика OpenID Connect (OIDC) теперь можно настроить срок действия ID-токенов с помощью атрибута id_token_expiration
. Раньше они действовали 120 секунд.
Документация по настройке срока действия ID-токенов и оригинальный тикет.
(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security
Администраторы GitLab теперь могут использовать единый API для идентификации и отзыва токенов. Раньше администраторам приходилось использовать отдельные конечные точки, связанные с определённым типом токена. Этот API позволяет отзывать токены независимо от их типа. Список поддерживаемых типов токенов можно найти в API информации о токенах.
Документация по API информации о токенах и оригинальный эпик.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security
В Центре соответствия GitLab пользователи могут установить дефолтный фреймворк соответствия требованиям, который будет применяться ко всем новым и импортированным проектам, созданным в этой группе. У фреймворка по умолчанию есть метка default, чтобы помочь пользователям его идентифицировать.
Теперь пользователи могут выбрать дефолтный фреймворк с помощью выпадающего списка фреймворков на странице списка фреймворков в центре соответствия группы верхнего уровня. Эта фича недоступна в центре соответствия подгрупп и проектов.
Документация по настройке фреймворка по умолчанию в центре соответствия и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security
Раньше письма с уведомлением об истечении срока действия токена доступа отправлялись только непосредственным участникам группы и проекта, в которых истекал срок действия токена. Теперь эти уведомления также отправляются унаследованным участникам группы и проекта, если эта настройка включена. Такое более широкое распространение упрощает управление токеном до истечения срока действия.
Документация по настройке уведомлений о токенах для групп и проектов и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE, DUO PRO, DUO ENTERPRISE; self-managed: PREMIUM, ULTIMATE, DUO PRO, DUO ENTERPRISE) Стадия цикла DevOps: Software Supply Chain Security
В пользовательском интерфейсе GitLab теперь можно изменять размер панели Duo Chat. Это облегчает просмотр кода или позволяет держать чат открытым во время работы с GitLab в фоновом режиме.
Документация по настройке интерфейса чата GitLab Duo и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE, DUO PRO, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered
Поддерживать контекст между различными темами в чате GitLab Duo теперь стало проще: появилась возможность одновременно вести несколько обсуждений. Можно создавать новые обсуждения, просматривать их историю и переключаться между ними.
Раньше начало нового обсуждения означало потерю контекста существующего чата. Теперь можно одновременно обсуждать несколько разных тем. Каждое обсуждение сохраняет свой контекст, поэтому, например, в одном можно задавать уточняющие вопросы о пояснениях к коду, а в другом — составлять план работы.
Когда вам нужно вернуться к предыдущим обсуждениям, выберите новую иконку «история чата», чтобы увидеть все ваши недавние обсуждения. Они автоматически сортируются по последней активности, что позволяет легко продолжить с того места, на котором остановились.
Для обеспечения конфиденциальности, обсуждения, в которых вы не участвовали в течение 30 дней, автоматически удаляются. Также вы в любое время можете вручную удалить любое обсуждение.
В настоящее время эта фича доступна только в веб-интерфейсе GitLab.com. Она недоступна в инстансах GitLab с самостоятельным управлением или в интеграциях с IDE.
Поделитесь с нами своим опытом в тикете 526013.
Документация по поддержке нескольких обсуждений в чате GitLab Duo и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Tenant Scale
Мы рады объявить о значительных улучшениях обзора проектов в разделе Ваша работа (Your Work), где упростились поиск и доступ к вашим проектам. В этом обновлении представлена более интуитивная система навигации на основе вкладок, которая лучше отражает то, как пользователи взаимодействуют со своими проектами.
Теперь на вкладке Внесённый вклад (Contributed, ранее Yours) отображаются все проекты, в которые вы внесли свой вклад, включая ваши личные проекты, что упрощает отслеживание вашей активности по разработке.
Вкладка Личные (Personal) помогает быстрее находить свои индивидуальные проекты. Она теперь находится на видном месте в основной навигации.
Командные проекты можно найти через вкладку Участник (Member, ранее All), где видны все проекты, в которых вы участвуете.
Вкладка Неактивные (Inactive, ранее Pending deletion) теперь показывает как архивные проекты, так и проекты, ожидающие удаления.
Кроме того, если у вас есть соответствующие права, вы теперь можете редактировать или удалять проекты непосредственно из обзора проектов Ваша работа. Эти изменения отражают наше стремление создать более эффективный и удобный интерфейс GitLab. Новый дизайн помогает вам сосредоточиться на проектах, которые наиболее важны для вашей работы, и быстрее перемещаться между различными категориями проектов.
Мы ценим ваши отзывы об этом обновлении! Присоединяйтесь к обсуждению в эпике 16662, и делитесь впечатлениями о новой навигации.
Документация по работе с проектами и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations
В этом релизе отображение вкладов пользователей теперь поддерживает массовое переназначение с помощью CSV-файла. Если у вас большая база пользователей с большим количеством «пользователей-заглушек», участники группы с ролью Owner могут:
Загрузить предварительно заполненный CSV-шаблон.
Добавить имена пользователей GitLab или публичные адреса email из целевого инстанса.
Загрузить готовый файл, чтобы переназначить все вклады сразу.
Этот метод избавляет от утомительного ручного переназначения через пользовательский интерфейс. Чтобы ещё больше упростить крупномасштабные миграции, теперь также доступна поддержка API для переназначения на основе CSV.
Документация по запросам переназначения с помощью CSV-файла и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations
Раньше при импорте групп или проектов вы не могли видеть, когда были созданы «пользователи-заглушки». В этом релизе мы добавили временные метки, чтобы вы могли отслеживать ход миграции и устранять любые неполадки по мере их возникновения.
Документация по атрибутам «пользователей-заглушек» и оригинальный тикет.
(SaaS: ULTIMATE, DUO ENTERPRISE; self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: Plan
Панель сравнения метрик на панели влияния ИИ (AI Impact Dashboard) теперь обеспечивает отслеживание по месяцам (MoM) для метрик процента принятия автодополнений кода в GitLab Duo и использования чата GitLab Duo (MoM%). Эти новые основанные на тенденциях инсайты дополняют существующие плашки для автодополнений кода и чата Duo, которые предоставляют 30-дневный снимок этих показателей. С помощью этих дополнительных показателей менеджеры могут лучше измерять влияние ИИ на свои процессы разработки программного обеспечения и выявлять закономерности, сравнивая процент принятия Code Suggestions и использование Duo Chat с другими показателями SDLC с течением времени.
Документация по аналитике использования ИИ и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
При просмотре истории репозитория могут быть коммиты, которые не имеют отношения к значимым изменениям в проекте. Это может произойти во время:
Рефакторинга, когда вы переходите от одной библиотеки к другой, не меняя функциональность.
Форматирования кода или проверки его стиля, что требует стандартизации всей кодовой базы.
Когда вы просматриваете историю проекта с помощью git blame
, такие коммиты мешают понимать произошедшие изменения. Git поддерживает идентификацию таких коммитов с помощью файла .git-blame-ignore-revs
в вашем проекте. Теперь GitLab позволяет переключать представление результата git blame
, чтобы показывать или скрывать эти ревизии в выпадающем списке «Настройки blame» (“Blame preferences”), что упрощает понимание истории вашего проекта.
Документация по настройке просмотра git blame и оригинальный эпик.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
Операции с реестром пакетов теперь регистрируются как события аудита, чтобы команды могли отслеживать, когда пакеты публикуются или удаляются в соответствии с правилами соответствия требованиям организации.
До этого релиза не было встроенного способа отслеживать, кто опубликовал или внёс изменения в пакеты. Командам приходилось создавать собственные системы отслеживания или вручную документировать изменения пакетов, чтобы вести логи этих действий. Теперь каждое событие аудита показывает, кто внёс изменения, когда это произошло, как они были аутентифицированы, и что именно изменилось в пакете.
События аудита для проектов хранятся либо в пространстве имён группы, либо в самом проекте для отдельных владельцев проектов. Группы могут отключать события аудита, чтобы сэкономить место в хранилище.
Документация по событиям аудита для фреймворков соответствия требованиям и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security
Теперь можно создавать вебхуки, которые будут срабатывать за 60 и 30 дней до истечения срока действия токена доступа проекта или группы. Раньше эти события вебхука инициировались только за 7 дней до истечения срока действия. Это необязательный параметр, который соответствует существующему расписанию уведомлений по email для токенов с истекающим сроком действия.
Документация по вебхук-триггерам для токенов с истекающим сроком действия и оригинальный тикет.
(self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security
Теперь можно сопоставить атрибуты Organization и Title профиля из провайдера удостоверений OmniAuth (IdP) с профилем пользователя GitLab. Это позволяет IdP быть единственным источником достоверной информации для этих атрибутов, и пользователи больше не смогут их изменять.
Документация по обновлению профилей пользователей OmniAuth и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Tenant Scale
Мы улучшили настройки разрешений на создание проектов, чтобы они были более интуитивно понятными и соответствовали нашим принципам безопасности. Вот некоторые из этих улучшений:
Переименовали выпадающий список «Защита при создании проекта по умолчанию» (Default project creation protection) в «Минимальная роль, необходимая для создания проекта» (Minimum role required for project creation), чтобы чётко отразить цель настройки.
Переименовали выпадающий список «Разработчики + мейнтейнеры» в «Разработчики» для единообразия во всей платформе.
Переставили варианты в выпадающем списке по порядку, начиная с наиболее ограничивающих уровень доступа.
Эти изменения упрощают понимание и настройку того, какие роли могут создавать проекты в ваших группах, что помогает администраторам более уверенно применять соответствующие средства контроля доступа.
Документация по настройке того, какие роли могут создавать проекты и оригинальный тикет.
(self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered
Теперь можно использовать некоторые модели Meta Llama 3 с GitLab Duo с самостоятельным управлением. Эти модели находятся в стадии бета-тестирования для GitLab Duo с самостоятельным управлением, для поддержки чата GitLab Duo и автодополнения кода (Code Suggestions).
Пожалуйста, оставьте отзыв об использовании этих моделей с GitLab Duo с самостоятельным управлением в тикете 523912.
Документация по поддерживаемым моделям и оборудованию для самостоятельно размещаемого GitLab Duo и оригинальный тикет.
(self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered
В GitLab Duo с самостоятельным управлением теперь можно выбирать отдельные поддерживаемые модели для каждой функции чата GitLab Duo на вашем инстансе с самостоятельным управлением. Выбор и настройка моделей для функций чата Duo сейчас находятся в бета-версии.
Чтобы оставить отзыв, перейдите в тикет 524175.
Документация по настройке фич Duo для инстансов с самостоятельным управлением и оригинальный тикет.