[Перевод] Вышел релиз GitLab 16.6 с новой фичей GitLab Duo Chat (бета)
Ответить на последующие вопросы, чтобы вы могли последовательно проработать упомянутые сценарии.
GitLab Duo Chat доступен на GitLab.com в бета-версии. Он также интегрирован в нашу веб-среду разработки и в расширение GitLab Workflow для VS Code как экспериментальная фича.
Вы можете помочь нам улучшить эти фичи, оставляя обратную связь по использованию Duo Chat внутри продукта или в нашем тикете для фидбека.
Документация по GitLab Duo Chat и оригинальный эпик.
Автоматический перевод пользователя в статус enterprise
(Доступно в планах SaaS: PREMIUM, ULTIMATE) Стадия цикла DevOps: Govern
Когда основной email-адрес пользователя GitLab.com совпадает с существующим верифицированным доменом, этот пользователь автоматически определяется как enterprise пользователь. Это даёт владельцу группы больше возможностей для управления пользователями и больше информации об аккаунтах пользователей. После того, как пользователи становятся enterprise-пользователями, они могут изменить свой основной email-адрес только на один из email-адресов, которые принадлежат их организации согласно списку верифицированных доменов.
Документация по enterprise-пользователям и оригинальный эпик.
Создание форков, включающих только дефолтную ветку репозитория
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
В предыдущих версиях GitLab, когда вы делали форк репозитория, он всегда включал все входящие в этот репозиторий ветки. Теперь вы можете создавать форк, включающий только ветку по умолчанию, что снижает сложность проекта и требуемый объём памяти для его хранения. Создавайте форки с минимальным количеством веток, если вам не нужны изменения, над которыми в данный момент ведётся работа в других ветках.
Механизм ветвления по умолчанию по-прежнему будет включать все ветки репозитория. Новая фича показывает, какая ветка является дефолтной, чтобы вы знали, какая именно ветка будет включена в новый форк.
Документация по созданию форка репозитория и оригинальный тикет.
Правила соответствия требованиям на основе обязательного подтверждения мерж-реквестов
(Доступно в планах SaaS: ULTIMATE) Стадия цикла DevOps: Govern
Сейчас все больше внимания уделяется изменениям в коде, которые потенциально могут попасть в продакшн и сделать бизнес уязвимым к рискам, связанным с соответствием требованиям и безопасности. Правила результатов сканирований позволяют вам добиться того, чтобы было невозможно вносить изменения, не подтверждённые другими пользователями. Это делается путём добавления требования об обязательном подтверждении всех мерж-реквестов как минимум двумя пользователями.
Теперь в правилах результатов сканирования появилась новая опция: вы можете установить в качестве цели «любой мерж-реквест». Затем вы можете создать правило о необходимости подтверждений от пользователей с определёнными ролями, чтобы каждый мерж-реквест для заданных веток требовал подтверждения от минимум двух пользователей с заданной ролью (владелец, мейнтейнер (в русской локализации GitLab «сопровождающий») или разработчик).
Эта фича доступна в GitLab SaaS версии 16.6. В инстансах с самоуправлением она доступна при включении переключаемой фичи scan_result_any_merge_request
, а с версии 16.7 будет включена по умолчанию.
Документация по правилам сканирования безопасности и оригинальный эпик.
Портал Switchboard для GitLab Dedicated теперь доступен в общем плане
(Доступно в планах Self-Managed: ULTIMATE) Направление: Платформы
Switchboard, новый портал самообслуживания, теперь доступен всем пользователям и членам команд GitLab. Он включает в себя возможности онбординга, настройки и поддержки инстансов GitLab Dedicated.
Switchboard позволяет вам вносить изменения в настройки вашего инстанса GitLab Dedicated. Эта фича будет расширена в будущих релизах.
Документация по онбордингу в GitLab Dedicated при помощи Switchboard и оригинальный тикет.
Компоненты CI/CD (бета)
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
В GitLab 16.1 мы объявили о выпуске крутой экспериментальной фичи — CI/CD компоненты. Компоненты — это строительные блоки конвейера (в русской локализации GitLab «сборочная линия»), которые можно брать из каталога CI/CD.
Сегодня мы с радостью объявляем о выпуске бета-версии компонентов CI/CD. В этом релизе мы также улучшили структуру каталогов компонентов по сравнению с экспериментальной версией. Если вы уже тестируете экспериментальную версию компонентов CI/CD, вам необходимо провести миграцию на новую структуру каталогов. Вы можете посмотреть примеры компонентов здесь. Прежняя структура считается устаревшей и будет удалена в течение следующих двух релизов.
Если вы используете компоненты CI/CD, вы также можете попробовать новую экспериментальную фичу — каталог CI/CD. Вы можете искать в глобальном каталоге CI/CD компоненты, которые другие создали и опубликовали. Кроме того, если вы создадите свои собственные компоненты, вы тоже можете опубликовать их в каталоге.
Документация по компонентам CI/CD и оригинальный эпик.
Улучшенный пользовательский интерфейс для управления переменными CI/CD
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Переменные CI/CD являются фундаментальной частью GitLab CI/CD, и мы хотели бы улучшить их настройку через пользовательский интерфейс. Поэтому в этом релизе мы добавили новую панель, которая упрощает процесс добавления и редактирования переменных CI/CD.
Например, проверка маскировки раньше происходила только при попытке сохранить переменную CI/CD, и, если она не проходила, вам приходилось начинать всё с начала. Но теперь, с новой панелью, вы получаете проверку в режиме реального времени, что позволяет вносить изменения на лету, без необходимости что-либо переделывать.
Мы всегда рады получить обратную связь по этому изменению.
Документация по определению переменной CI/CD через пользовательский интерфейс и оригинальный тикет.
Панель управления обработчиком заданий — основные метрики (бета)
(Доступно в планах Self-Managed: ULTIMATE) Стадия цикла DevOps: Verify
Операторам обработчиков заданий в инстансах с самостоятельным управлением необходима возможность быстро получать информацию о текущем состоянии обработчиков и отвечать на критические вопросы об их конфигурации. Теперь, с новой панелью администратора для обработчиков заданий (бета) вся нужная информация будет у вас на виду, что позволит вам оперативно отвечать на вопросы о том, в каких обработчиках есть ошибки, какова производительность очередей обработчиков для выполнения заданий CI и какие обработчики используются наиболее активно. Пользователи Ultimate могут включить эту фичу самостоятельно, однако мы призываем их принять участие в качестве первых пользователей.
Документация по панели управления обработчиками заданий и оригинальный тикет.
Другие улучшения в GitLab 16.6
Полный список элементов, которые не удалось импортировать
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Раньше, когда миграция проектов и групп GitLab путём прямого переноса завершалась и некоторые элементы (например, мерж-реквесты или тикеты) не были успешно импортированы, можно было нажать кнопку Подробнее (Details) на странице со списком импортированных групп и проектов и увидеть там соответствующие ошибки.
Однако, список ошибок не поможет понять, сколько всего элементов и какие именно элементы не были импортированы. Наличие такой информации очень важно для понимания результатов импорта.
В этом релизе мы заменили кнопку Подробнее ссылкой Посмотреть ошибки. Нажав эту ссылку, вы попадёте на новую страницу со списком всех элементов, которые не удалось импортировать для данной группы или проекта. Для каждого неимпортированного элемента можно посмотреть:
Тип элемента. Например, мерж-реквест или тикет.
Какого рода ошибка произошла.
Идентификатор корреляции, который полезен для целей отладки.
URL элемента в исходном инстансе, если он доступен (элементы с iid
).
Название элемента на исходном инстансе, если оно доступно. Например, название мерж-реквеста или тикета.
Документация по просмотру результатов импорта и оригинальный тикет.
Предотвращение дублирования пакетов NuGet
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
Реестр пакетов GitLab можно использовать для публикации и загрузки пакетов NuGet вашего проекта. По умолчанию можно публиковать одни и те же имя и версию пакета несколько раз.
Однако, возможно, вы захотите предотвратить повторную загрузку, особенно для релизов. В этом релизе GitLab расширил групповые настройки для реестра пакетов, чтобы можно было разрешать или запрещать повторную загрузку пакетов.
Можно настроить этот параметр с помощью GitLab API или из пользовательского интерфейса.
Документация по предотвращению дублирования пакетов NuGet и оригинальный тикет.
Подключение к кластерам Kubernetes с помощью GitLab CLI
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Deploy
Начиная с версии GitLab 16.4 можно подключаться к кластеру Kubernetes с локального терминала, используя агент для Kubernetes и личный токен доступа. В начальной версии для настройки конфигурации локального кластера требовалось несколько команд и токен доступа с длительным сроком действия. В прошлом месяце мы работали над оптимизацией и повышением безопасности процесса установки путём расширения возможностей GitLab CLI.
Теперь GitLab CLI может показывать список подключений агента, доступных из каталога оформления проекта GitLab или указанного проекта. Настроить соединение через выбранный агент можно с помощью специальной команды. Когда kubectl
или любому другому инструменту требуется аутентификация в кластере, GitLab CLI генерирует временный токен с ограниченным доступом для залогиненного пользователя.
Документация по доступу к кластеру через API Kubernetes и оригинальный эпик.
Добавлена поддержка SBT-проектов, использующих Java 21
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
Сканирование зависимостей и сканирование лицензий теперь поддерживают SBT-проекты, использующие Java 21.
Документация по поддерживаемым языкам и пакетам при сканировании зависимостей и оригинальный тикет.
Обновления анализатора DAST
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
В рамках релиза 16.6 мы добавили следующие активные проверки, включённые по умолчанию, для сканирований DAST, выполняемых в браузере:
Проверка 94.1 заменяет проверку ZAP 90019 и выявляет внедрение кода на стороне сервера (PHP).
Проверка 94.2 заменяет проверку ZAP 90019 и выявляет внедрение кода на стороне сервера (Ruby).
Проверка 94.3 заменяет проверку ZAP 90019 и выявляет внедрение кода на стороне сервера (Python).
Проверка 943.1 заменяет проверку ZAP 40033 и выявляет некорректную нейтрализацию последовательностей специальных символов в логике запроса данных.
Проверка 74.1 заменяет проверку ZAP 90017 и выявляет внедрение XSLT.
Документация по сканированию DAST и оригинальный тикет.
Команды по обеспечению соответствия требованиям теперь могут предотвращать push и force push в защищённые ветки
(Доступно в планах SaaS: ULTIMATE) Стадия цикла DevOps: Govern
Это одна из нескольких новых настроек, добавляемых в правила результатов сканирования, чтобы помочь в обеспечении соблюдения правил безопасности. Эта настройка ограничивает возможность применения настроек уровня проекта для обхода правил.
Для каждого существующего или нового правила для результатов сканирования можно включить фичу «Предотвращать push and force push» (Prevent pushing and force pushing
), которая будет действовать для веток, определённых в рамках правила, чтобы пользователи не могли обойти обычный путь обработки мерж-реквестов и внести изменения непосредственно в ветку.
Доступно в SaaS в версии 16.6. Доступно для планов Self-managed с помощью переключаемой фичи scan_result_policies_block_force_push
и будет включено по умолчанию в версии 16.7.
Документация по настройке правил безопасности и оригинальный эпик.
Трансляция событий аудита на групповом уровне в AWS S3
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Благодаря нашей интеграции с внешними инструментами логирования и агрегирования данных теперь можно выбрать AWS S3 в качестве места назначения для событий аудита для групп верхнего уровня. Эта фича предоставляет соответствующую информацию для более простой и беспроблемной интеграции.
Раньше вам приходилось использовать пользовательские HTTP-заголовки, чтобы попытаться создать запрос, который подходил бы для AWS S3. Этот метод часто приводил к ошибкам, а устранять возникающие неполадки было трудно.
Документация по настройке места назначения для трансляции событий аудита и оригинальный эпик.
Необязательные даты истечения срока действия у сервисных аккаунтов
(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Govern
Администраторы GitLab и владельцы групп могут выбрать, хотят ли они установить дату истечения срока действия для сервисных аккаунтов. Ранее срок действия токенов таких аккаунтов должен был истечь в течение года в соответствии с ограничениями по истечению срока действия токенов личного, проектного и группового доступа. Это позволяет администраторам и владельцам групп находить баланс между безопасностью и простотой использования, который наилучшим образом соответствует их целям.
Документация по настройке токенов доступа для сервисных аккаунтов и оригинальный тикет.
Единообразная навигация для всех пользователей
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В релизе 16.0 появился новый интерфейс навигации, который стал стандартным для всех пользователей 2 июня 2023 года. В следующих майлстоунах было внесено множество улучшений, основанных на многочисленных отзывах пользователей. Возможность вернуться к старой навигации теперь удалена. В навигации запланированы более интересные изменения, но на данный момент все пользователи имеют единый опыт навигации.
Напомним, что в новой навигации GitLab можно:
Закрепить пункты меню, чтобы наиболее часто используемые элементы проекта или группы были в верхней части
Скрывать и «подсматривать» навигацию для увеличения ширины экрана
Легко искать пункты меню с помощью сочетаний клавиш
Продолжать использовать все темы, которые были в предыдущей навигации
Использовать более организованные разделы, соответствующие рабочему процессу DevOps
Документация по левой боковой панели и оригинальный эпик.
Поддержка образов macOS 14 (Sonoma) и Xcode 15
(Доступно в планах SaaS: PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Теперь команды могут легко создавать, тестировать и развёртывать приложения для экосистемы Apple на macOS 14 и Xcode 15.
Обработчики заданий SaaS на macOS повышают скорость работы команд разработки при сборке и развёртывании приложений для macOS в безопасном и работающем по запросу окружении для сборки, интегрированном с GitLab CI/CD.
Чтобы попробовать эту фичу, используйте macos-14-xcode-15
в качестве образа в файле .gitlab-ci.yml.
Документация по поддерживаемым обработчикам заданий GitLab SaaS для macOS и оригинальный тикет.
Загрузка пакетов в репозиторий Maven с базовой HTTP-аутентификацией
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
Реестр пакетов GitLab теперь поддерживает загрузку на сервер пакетов Maven с базовой HTTP-аутентификацией. Ранее базовую HTTP-аутентификацию можно было использовать только для скачивания пакетов Maven. Такое несоответствие затрудняло разработчикам настройку и поддержку аутентификации для своего проекта.
Публикация артефактов с помощью sbt
не поддерживается, но в тикете 408479 предлагается добавить эту фичу.
Документация по базовой HTTP-аутентификации и оригинальный тикет.
Обновление статуса Kubernetes в реальном времени в пользовательском интерфейсе GitLab
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Deploy
В GitLab 16.6 можно использовать интеграцию пользовательского интерфейса кластера на странице окружения для определения статуса запущенных приложений, не покидая GitLab. Ранее статус обновлялся однократным запросом при загрузке пользовательского интерфейса, что делало отслеживание хода развёртывания неудобным. В текущей версии GitLab базовое соединение обновлено для использования API для отслеживания Kubernetes для получения статусов согласования Flux и статусов Pod, что обеспечивает обновление состояния кластера в пользовательском интерфейсе GitLab практически в реальном времени.
Документация о панели информации Kubernetes и оригинальный тикет.
Сканирование контейнеров: исключение результатов, которые не будут исправлены
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
Результаты сканирования контейнера могут включать в себя те, которые поставщик уже проверил и решил не исправлять. Чтобы сосредоточиться на результатах, с которыми можно что-то сделать, остальные можно исключить. Параметры настройки приведены в документации GitLab.
Документация по настройке сканирования контейнеров и оригинальный эпик.
Включение векторов CVSS в экспорт отчёта об уязвимостях
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
При экспорте информации из отчёта об уязвимостях теперь включается информация о векторах CVSS. Эти дополнительные данные помогают вам анализировать и сортировать уязвимости вне GitLab.
Документация по настройке отчётов об уязвимостях и оригинальный эпик.
Изменения в фильтре инструментов отчёта об уязвимостях
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Раньше отчёт об уязвимостях позволял фильтровать по статическому списку типов инструментов, поддерживаемых GitLab, за которым следовал динамический список пользовательских сканеров. В этом релизе теперь можно выбирать тип инструмента из списка, сгруппированного по анализаторам.
Документация по фильтрации инструментов для списка уязвимостей и оригинальный эпик.
Улучшена обработка не отвечающих внешних проверок статуса
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Ранее внешние проверки статуса мерж-реквестов продолжали опрашивать внешний URL до тех пор, пока не получали либо успешный, либо неуспешный ответ. Это могло приводить к тому, что некоторые проверки состояния как бы зависали в состоянии отсутствия реакции.
Теперь в систему встроен двухминутный таймаут, чтобы можно было вручную повторить проверку состояния через 2 минуты, если не получено никакого ответа от внешней системы.
Документация по настройкам для проверки статуса мерж-реквестов и оригинальный эпик.
«Тихий режим» GitLab
(Доступно в планах Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Системы
Когда включён бесшумный режим GitLab, блокируется весь основной исходящий трафик, например электронные письма с уведомлениями, интеграции, веб-хуки и зеркалирование из инстанса GitLab. Это позволяет вам проводить тестирование на сайте GitLab без генерации трафика для пользователей и других интеграций. Можно использовать этот режим для тестирования восстановленной резервной копии или продвигаемого сайта Geo DR, не затрагивая при этом ваш основной сайт GitLab или ваших конечных пользователей.
Документация по «беззвучному режиму» GitLab и оригинальный эпик.
Скрытие архивных проектов в результатах поиска по умолчанию
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Хранение данных
Раньше пользователи видели в результатах поиска проектов множество заархивированных проектов. Это было неудобно, особенно когда большинство первых результатов были из архивов. Теперь мы по умолчанию отфильтровываем заархивированные проекты, но пользователи могут выбрать Включить архивированные (Include archived), чтобы просмотреть все проекты.
Документация по включению архивных проектов в результаты поиска и оригинальный эпик.
Имена приватных групп скрыты от неавторизованных пользователей
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Хранение данных
Раньше названия приватных групп были видны всем пользователям при доступе к вкладке Группы (Groups) на странице участников проекта или группы. В целях повышения безопасности мы теперь скрываем имя и источник частных групп от пользователей, которые не являются членами общей группы, общего проекта или приглашённой группы. Вместо этого эта информация будет отображаться как Приватная (Private).
Документация по настройке видимости группы в другой группе и оригинальный тикет.
Полный текст релиза и инструкции по обновлению и установке вы можете найти в оригинальном англоязычном посте GitLab 16.6 released with GitLab Duo Chat available in Beta.
Над переводом с английского работали maryartkey, ainoneko и rishavant.