Мы с радостью объявляем о релизе GitLab 16.9 с GitLab Duo Chat, доступном для Premium пользователей SaaS и в инстансах с самостоятельным управлением! Также появилась возможность запрашивать изменения в мерж-реквесте без блокировки мержа, улучшенный интерфейс страницы переменных CI/CD, новые настройки для автоматической отмены конвейеров и многие другие фичи!
Это лишь несколько из более 80 улучшений, добавленных в этом релизе. Читайте дальше, чтобы узнать обо всех основных изменениях.
Мы благодарны участникам сообщества GitLab за более 200 изменений, которые вы внесли в релиз 16.9. В GitLab каждый может сделать свой вклад, и ваш вклад в этот релиз неоценим!
Чтобы заранее узнать, что запланировано на следующий месяц, посмотрите страницу наших будущих релизов — на ней есть видео, посвящённое релизу 16.10.
Ravi активно работает с группой исследования уязвимостей GitLab, чтобы решить проблему с ложноположительными результатами в сканированиях GitLab SAST.
Ravi был номинирован Rohan Shah, менеджером по работе с клиентами в GitLab, который заметил, как хорошо Ravi удалось улучшить работу правил обнаружения уязвимостей, используемых в GitLab SAST. Dinesh Bolkensteyn, старший исследователь уязвимостей в GitLab, добавил, что «фидбек от Ravi был на высоте, он давал чёткие инструкции к действию и помог нам улучшить многие правила сканирования SAST».
Ravi Dharmawan (он же ravidhr) работает инженером по информационной безопасности в GoTo Group. Он занимается в основном проверкой дизайна на безопасность, ревью исходного кода и тестированием на проникновение (пентестами). У Ravi также есть сертификаты OSCP и eWPTXv2.
Ian — первый MVP GitLab, награждённый за работу по поддержке пользователей на форуме GitLab. Michael Friedrich, старший Developer Advocate в GitLab, и Fatima Sarah Khalid, Developer Advocate в GitLab, оба номинировали Ian за работу по улучшению нашего форума, которую он проделал, отвечая на вопросы пользователей, которые устанавливают и используют GitLab.
Ian работает в UpWare Sp. z o.o. в качестве консультанта по системам и безопасности, в основном по Red Hat OpenShift и всему, что связано с Linux. Он имеет сертификаты Red Hat — RHCSA и RHCE, а также свою собственную установку GitLab, которую он поддерживает с 2017 года. Ian активно отвечал на вопросы на форумах GitLab на протяжении более 3 лет. У него более 2 600 полезных ответов, 480 отметок от модераторов сообщества и 240 решений.
Спасибо Ravi и Ian! ????
В GitLab 16.8 мы сделали GitLab Duo Chat доступным для инстансов с самоуправлением. В релизе 16.9 мы делаем его бета-версию доступной для пользователей Premium.
GitLab Duo Chat может:
GitLab Duo Chat доступен в качестве бета-версии. Также он интегрирован в нашу веб-среду разработки и доступен в расширении GitLab Workflow для VS Code как экспериментальная фича. В этих IDE вы также можете использовать предварительно заданные команды чата, которые ускоряют выполнение стандартных задач, таких как написание тестов.
Вы можете помочь нам улучшить эти фичи, поделившись отзывом о своём опыте работы с GitLab Duo Chat. Это можно сделать либо внутри продукта, либо в нашем тикете для обратной связи.
Документация по GitLab Duo Chat и оригинальный эпик.
Финальная часть любого ревью мерж-реквеста (в русской локализации GitLab «запрос на слияние») — это передача информации о его результатах. Когда вы подтверждаете мерж-реквест, результат ревью очевиден, но с комментариями все сложнее: автору изменений необходимо их прочитать и определить, являются ли они чисто информационными или содержат требования по необходимым изменениям. Теперь, когда вы завершаете ревью, у вас будет три варианта действий:
На боковой панели теперь будет отображаться результат вашего ревью рядом с вашим именем. На текущий момент завершение ревью с запросом на изменения не будет блокировать мерж, а только предоставлять дополнительную информацию остальным участникам мерж-реквеста.
Вы можете оставить свой фидбек по фиче Запросить изменения в нашем тикете для обратной связи.
Документация по ревью мерж-реквестов и оригинальный эпик.
В GitLab 16.9 мы добавили несколько улучшений пользовательского интерфейса переменных CI/CD. Мы улучшили процесс их создания, добавив следующие изменения:
Среди других улучшений — поле с описанием для групповых и проектных переменных. Его необязательно заполнять, но добавление описания переменных может помочь с их управлением. Мы также упростили добавление или редактирование нескольких переменных сразу, чтобы снизить ненужные задержки в процессе разработки ПО и помочь разработчикам более эффективно выполнять свою работу.
Ваша обратная связь по этим изменениям, как и всегда, очень ценна для нас.
Документация по переменным CI/CD и оригинальный тикет.
В настоящее время для использования фичи автоматической отмены ненужных конвейеров (в русской локализации GitLab «сборочная линия») вам необходимо задавать в настройках заданий, которые можно отменять, значение interruptible: true
, чтобы определить, можно ли отменить данный конвейер. Однако это относится только к заданиям, которые уже запущены на тот момент, когда GitLab пытается отменить конвейер. Считается, что любые задания, которые ещё не начались (в статусе “pending”), можно безопасно отменять, независимо от их настройки interruptible
.
Пользователям, которые хотят иметь возможность более точно выбирать, какие задания могут быть отменены, этих возможностей было недостаточно. Чтобы решить эту проблему, мы с радостью объявляем о добавлении ключевых слов auto_cancel:on_new_commit
с более точной настройкой отмены заданий. Если вам тоже не хватало существующих возможностей управления автоматической отменой, теперь вы сможете настроить конвейер для отмены только заданий, для которых явно задано значение interruptible: true
, даже если они ещё не были запущены. Вы также можете задать значение, при котором задания никогда не будут отменяться автоматически.
Документация по ключевому слову auto_cancel:on_new_commit
и оригинальный тикет.
Начиная с этого релиза, вы сможете активировать тикеты (в русской локализации GitLab «обсуждение») Jira для всех проектов в группе GitLab. Ранее это можно было сделать только для каждого проекта в отдельности.
Документация по просмотру тикетов Jira в GitLab и оригинальный тикет.
При завершении миграций групп и проектов путём прямого переноса в GitLab отображались значки Завершено (Complete), Частично завершено (Partially completed) и Завершено с ошибкой (Failed), чтобы сообщить пользователям общую информацию о результатах миграции. Пользователи также могли посмотреть список элементов, которые не были перенесены, перейдя по ссылке Посмотреть ошибки (See failures).
Однако для частично импортированных проектов не было возможности понять, сколько элементов каждого типа были перенесены успешно, а сколько — нет.
В этом релизе мы добавили статистику по результатам завершения миграции групп и проектов. Чтобы посмотреть эти виды статистики, перейдите по ссылке Details (подробнее) на странице истории миграции.
Документация по просмотру результатов миграции и оригинальный тикет.
Чтобы улучшить отслеживание рабочих процессов разработки в GitLab, в аналитику цикла разработки было добавлено новое событие предпродакшена: Issue first added to iteration
. Вы можете использовать это событие, чтобы отслеживать проблемы, вызванные недостатком гибкости в командах, которые планируют слишком далеко наперёд, или сложность с исполнением в командах, у которых есть тикеты, повторяющиеся от итерации к итерации. Например, вы можете добавить в цикл разработки стадию “Planned”, которая начинается с Issue first added to iteration
(тикет впервые добавлен в итерацию), а заканчивается Issue first assigned
(тикету впервые назначен исполнитель).
Документация по событиям аналитики цикла разработки и оригинальный тикет.
Ранее доступ к Git из GitLab.com всегда был основан на пользовательских данных, указанных в их аккаунте. Теперь вы сможете сделать возможным получение доступа к Git только через SSH. Также эти сертификаты можно будет использовать для подписи коммитов.
Документация по сертификатам SSH в GitLab и оригинальный эпик.
По отзывам наших пользователей, при управлении обработчиками заданий GitLab в больших масштабах очень важно знать, какие проекты используют больше всего вычислительных минут. Эта информация важна, чтобы помогать командам оптимизировать конвейеры CI/CD, а также принимать правильные решения по оптимизации затрат на обработчики заданий.
В этом релизе мы добавляем на панель обработчика заданий карту с метриками использования вычислительных минут каждым проектом. Эта фича дополняет ранее выпущенный экспорт вычислительных минут CI/CD по CSV. Вы сможете посмотреть, какие проекты используют больше всего минут, и какие обработчики заданий используются чаще всего в вашем окружении.
Документация по панели обработчиков заданий и оригинальный тикет.
Теперь при запуске конвейера в ветке, вы сможете быстро перейти к связанному мерж-реквесту со страницы подробной информации о конвейере.
Документация по просмотру конвейеров и оригинальный тикет.
При использовании реестра Terraform GitLab важно иметь возможность посмотреть модули, относящиеся ко всем вашим проектам. До этого релиза пользовательский интерфейс позволял смотреть модули только в одном проекте. Если ваша группа имела сложную структуру, вам могло быть неудобно искать и проверять модули во всех проектах.
Начиная с GitLab 16.9 вы сможете просматривать модули всех ваших групп или подгрупп на одной странице. Это поможет лучше понимать состояние вашего реестра и снизить вероятность появления повторяющихся имён модулей.
Документация по просмотру пакетов в GitLab и оригинальный тикет.
В этом релизе добавлена полная поддержка Kubernetes версии 1.29, выпущенной в декабре 2023 года. Если вы развёртываете свои приложения на Kubernetes, теперь можно обновить свои подключённые кластеры до последней версии и воспользоваться всеми её фичами.
В документации можно узнать больше о наших правилах поддержки Kubernetes и других поддерживаемых версиях Kubernetes.
Документация о поддерживаемых версиях Kubernetes и оригинальный тикет.
В релизе 16.9 мы устранили следующие ошибки:
Ошибки в DAST на основе браузера при попытке получить тело ответа для кэшированных ресурсов, когда браузер перешёл на новую страницу. Подробности в тикете.
Сканирование в DAST на основе браузера выполняется не параллельно, что приводит к снижению производительности. Смотрите тикет для получения более подробной информации.
Документация по DAST на основе браузера и оригинальный эпик.
Мы улучшили отображение результатов сканирования безопасности в расширении GitLab Workflow для Visual Studio Code (VS Code). Теперь там можно узнать о результатах вашего сканирования безопасности более подробную информацию, которой ранее не было:
Полные описания с форматированным текстом.
Решение для найденной уязвимости, если таковое доступно.
Ссылка на место возникновения проблемы в вашей кодовой базе.
Ссылки на дополнительную информацию о типе обнаруженной уязвимости.
Ещё мы улучшили то, как расширение показывает статус сканирования безопасности до того, как результаты будут готовы, и удобство использования в других аспектах.
Документация по расширениям VS Code и оригинальный эпик.
Раньше, если в группе была включена синхронизация LDAP, администраторы не могли приглашать пользователей в эту группу или удалять их из неё. Теперь администраторы могут использовать API участников группы и проекта для приглашения пользователей сервисных учётных записей в группу с синхронизацией LDAP или удаления этих пользователей из группы. Администраторы по-прежнему не могут приглашать пользователей-людей в группу или удалять их из группы с синхронизацией LDAP. Это гарантирует, что синхронизация групп LDAP является единственным источником достоверной информации о членстве в учётных записях пользователей, а также обеспечивает гибкость использования сервисных учётных записей для добавления средств автоматизации в группы, синхронизируемые по LDAP.
Документация по работе с группами c синхронизацией через LDAP и оригинальный тикет.
Владельцы групп, у которых есть enterprise-пользователи, теперь могут использовать как пользовательский интерфейс управления пользователями, так и API участников групп и проектов, чтобы увидеть email-адреса этих пользователей. Раньше возвращались только email автоматически создаваемых пользователей.
Документация по получению email enterprise-пользователей и оригинальный тикет.
Отчёт о соблюдении стандартов из центра соответствия требованиям — это место, где соответствующие команды могут следить за соблюдением стандартов.
В GitLab 16.5 мы добавили отчёт со стандартом GitLab — набором общих требований к соблюдению стандартов, которые должны отслеживать все команды по соблюдению стандартов. Этот стандарт помогает понять, какие проекты соответствуют этим требованиям, какие не соответствуют и как привести их в соответствие. Со временем мы будем внедрять в отчётность больше стандартов.
В этом релизе мы внесли некоторые улучшения, чтобы сделать создание отчётов более действенным и надёжным. Вот эти улучшения:
Группировка результатов по проверке
Фильтрация по проекту, проверке и стандарту
Экспорт в CSV (доставляется по email)
Улучшенная пагинация
Документация по панели стандартов соответствия требованиям и оригинальный эпик.
Как администратор GitLab, вы теперь можете установить максимальное количество фоновых заданий индексации кода Elasticsearch, которые могут выполняться одновременно. Раньше можно было ограничить количество одновременных заданий только путём создания выделенных процессов Sidekiq.
Документация по настройке Elasticsearch и оригинальный тикет.
В этом релизе мы добавили поддержку REST API для приложения GitLab для Slack.
Вы не можете создать приложение GitLab для Slack из API. Вместо этого вам необходимо установить приложение из пользовательского интерфейса GitLab. Затем можно получить настройки интеграции и обновить или отключить приложение для проекта.
Документация по интеграции GitLab в Slack и оригинальный тикет.
Теперь можно визуализировать лимит для количества тикетов «в работе» (Work In Progress, WIP) в списке на доске. При превышении лимита в списке появится линия, показывающая, какие элементы превышают лимит, что полезно для управления этим списком.
Документация по ограничению количества тикетов «в работе» и оригинальный тикет.
В GitLab 16.2 в качестве альтернативы редактору обычного текста мы выпустили редактор форматированного текста, который предоставляет интерфейс визуального редактирования «что видишь, то и получаешь» и расширяемую основу для дополнительной разработки. Однако до этого релиза редактор форматированного текста был доступен только в тикетах, эпиках (в русской локализации GitLab «цель») и мерж-реквестах.
С GitLab 16.9 редактор форматированного текста доступен в этих разделах:
Благодаря расширенному доступу к редактору форматированного текста вы сможете взаимодействовать друг с другом более эффективно, даже если у вас нет опыта работы с Markdown.
Документация по редактору форматированного текста и оригинальный эпик.
Организации могут захотеть контролировать, какие роли пользователей могут отменить конвейер. Раньше любой, кто мог запустить конвейер, мог и отменить его. Теперь мейнтейнер (в русской локализации GitLab «сопровождающий») проекта может изменить настройку, которая ограничивает отмену конвейеров и заданий определёнными ролями, или даже полностью запретить отмену.
Документация по настройке того, кто может отменять конвейеры или задания и оригинальный тикет.
Для публикации и загрузки модулей Terraform можно использовать реестр пакетов GitLab. По умолчанию нельзя публиковать одно и то же имя и версию модуля несколько раз в одном проекте.
Но вы можете захотеть разрешить повторную загрузку, особенно для релизов. В этом релизе GitLab расширяет групповые настройки для реестра пакетов, так что вы можете разрешать или запрещать повторную загрузку модулей.
Документация по разрешению повторной загрузки модулей Terraform и оригинальный тикет.
Фича окружения auto_stop_in
была обновлена, чтобы запускать задание с последнего завершённого конвейера, а не с последнего успешного конвейера. Это позволяет избежать случаев, когда задание с auto_stop_in
не может быть запущено, потому что у него не было успешных конвейеров.
В некоторых ситуациях такое поведение может оказаться серьезным изменением. Новое поведение в настоящее время скрыто за переключаемой фичей и станет стандартным в версии 17.0, а старое поведение будет удалено из GitLab в версии 18.0. Мы рекомендуем всем начать переход или настроить переключаемую фичу уже сейчас, чтобы при первом обновлении 17.x ничего не сломалось.
Документация по настройке конвейеров и оригинальный тикет.
Пользователи самостоятельных инстансов GitLab теперь могут беспрепятственно получать доступ к данным Service Ping через соединение REST API, что облегчает прямую интеграцию с нижестоящими системами. Это значительное улучшение по сравнению с предыдущим методом загрузки файлов. Новый подход предлагает самоуправляемым пользователям более эффективный способ проведения индивидуального анализа и получения конкретных сведений из данных об использовании GitLab в режиме реального времени.
Документация по экспорту данных Service Ping и оригинальный эпик.
Мы улучшили отчётность и стабильность в оперативном сканировании контейнеров (OCS, Operational Container Scanning). Примечательно, что было увеличено ограничение на размер отчёта Trivy, что обеспечивает более стабильную работу для пользователей. Увеличение размера этого отчёта с 10 до 100 МБ позволяет клиентам, которые были ограничены лимитом размера отчёта, использовать OCS для защиты образов контейнеров в своём кластере.
Из-за этого изменения в OCS пользователи, запускающие gitlab-agent
в режиме FIPS, не смогут запускать оперативное сканирование контейнеров. Более подробно это описано в нашей документации. Ждём комментариев в тикете #440849.
Документация по поиску уязвимостей и оригинальный эпик.
Мы обновили более 40 стандартных правил GitLab SAST, чтобы:
Увеличить количество истинно-положительных результатов (правильно идентифицированных уязвимостей) и уменьшить количество ложно-отрицательных результатов (неверно идентифицированных уязвимостей) за счёт обновления правил логики обнаружения для C#, Go, Java, JavaScript и Python.
Добавить OWASP mappings для правил C#, Go, Java и Python.
Изменения правил включены в обновлённые версии анализатора GitLab SAST на основе Semgrep. Это обновление автоматически применяется на GitLab 16.0 или новее, если только вы не закрепили определённую версию анализаторов SAST. Мы работаем над другими улучшениями правил SAST в эпике 10907.
Документация по важным изменениям в правилах SAST и оригинальный эпик.
Теперь GitLab записывает событие аудита при обновлении или удалении кастомной роли. Это событие важно для определения того, были ли добавлены или изменены разрешения в случае повышения привилегий.
Документация по настройке типов событий аудита и оригинальный тикет.
Если вы принадлежите к группе, требующей аутентификации SAML SSO, но у вас нет действующей сессии для этой группы, отображается баннер, предлагающий обновить сессию. Ранее тикеты и мерж-реквесты не отображались, если сессия истекла, но это было непонятно пользователю. Теперь пользователям будет ясно, когда они должны пройти повторную аутентификацию, чтобы увидеть все свои рабочие элементы.
Документация по SAML SSO и оригинальный тикет.
Администраторы теперь могут добавлять текстовые рекомендации, которые будут видны пользователям с правами на управление участниками на странице Участники (Members) группы или проекта. Администраторы могут получить доступ к этим рекомендациям в разделе Внешний вид (Appearance) в настройках панели администратора (Admin Area).
Рекомендации полезны для команд, которые используют внешние инструменты для управления участниками групп или проектов. Например, руководство может содержать ссылки на предопределённые группы, которые пользователи должны использовать вместо управления членством для отдельных участников.
Спасибо @bufferoverflow за этот вклад в сообщество!
Полный текст релиза и инструкции по обновлению и установке вы можете найти в оригинальном англоязычном посте GitLab 16.9 released with wider Beta access for Duo Chat.
Над переводом с английского работали @maryartkey, @ainoneko и @rishavant.