GitLab 16.7


Вышел релиз GitLab 16.7 с GitLab Duo Code Suggestions в общем доступе и бета-версией каталога CI/CD


На этот раз мы с радостью объявляем о релизе GitLab 16.7 с фичей GitLab Duo Code Suggestions в общем доступе, бета-версией каталога CI/CD, новым детальным представлением графиков отчётов Insights, результатами сканирования SAST в представлении изменений мерж-реквеста и многими другими фичами!


Это лишь несколько из более 30 улучшений, добавленных в этом релизе. Читайте дальше, чтобы узнать обо всех основных изменениях.


Мы благодарны сообществу GitLab за 186 изменений, которые вы внесли в релиз 16.7. В GitLab каждый может сделать свой вклад, и ваш вклад в этот релиз неоценим!


Чтобы заранее узнать, что запланировано на следующий месяц, посмотрите страницу наших будущих релизов — на ней есть видео, посвящённое релизу 16.7.


GitLab MVP badge


Награда (MVP) в этом месяце присуждается совместно Muhammed Ali и Niklas van Schrick


Мы продолжаем фокусироваться на росте нашего сообщества и очень рады видеть сразу две номинации MVP от основной команды GitLab.


Muhammed был номинирован за добавление поддержки настройки платформы при использовании образов Docker в GitLab Runner. Этот вклад потребовал 9 месяцев работы и продемонстрировал целеустремлённость Muhammed и его настойчивость, когда баг требовал доработки. В результате был закрыт популярный тикет (в русской локализации GitLab «обсуждение»), который был открыт на протяжении двух лет. «Огромное спасибо команде обработчика заданий GitLab», говорит Muhammed, «за поддержку и помощь в доработке этой долгожданной фичи».


Muhammed — инженер по автоматизации в Airtime Rewards, где он работает с Terraform и продвигает внедрение CI/CD и автоматизации вместе с командами инженеров.


Niklas был номинирован за продолжительный вклад и различные формы поддержки. В этом месяце исполняется ровно год с тех пор, как он получил предыдущую награду MVP. Niklas взял на себя непростую задачу, которая представляет трудности даже для членов команды GitLab, и играет огромную роль в поддержке участников нашего обширного сообщества. Вы можете узнать больше в тикете по номинации.


Спасибо Muhammed и Niklas за вклад в наше сообщество! ????


Основные улучшения в GitLab 16.7


Фича GitLab Duo Code Suggestions в общем доступе


(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
GitLab Duo Code Suggestions теперь доступна пользователям с любыми планами подписки!


Эта фича помогает командам вести разработку более быстро и эффективно. С ней вы сможете использовать автодополнение строк кода, а также определение функций и генерацию основной логики их работы.


Code Suggestions очень серьёзно относится к безопасности. Приватный, непубличный код, который пользователи хранят в GitLab, не использовался при обучении модели. Узнайте больше о том, как мы используем данные в Code Suggestions.


В общем релизе мы сделали фичу Code Suggestions доступной в нескольких IDE, а также сделали её более интуитивно понятной и гибкой.


Вы можете попробовать GitLab Duo Code Suggestions бесплатно в рамках GitLab Testing Agreement до 15 февраля 2024 года. Начиная с сегодняшнего дня, вы сможете купить Code Suggestions в качестве дополнения к основным подпискам GitLab по стартовой цене в 9 долларов на одного пользователя в месяц. Напишите нам, чтобы начать использовать Code Suggestions.



Документация по Code Suggestions и
оригинальный эпик по улучшению результатов автодополнения кода,
оригинальный эпик по улучшению генерации кода,
оригинальный эпик по автодополнениям на основе моделей Anthropics,
оригинальный эпик по добавлению в расшерения IDE интеграции библиотеки Tree-sitter,
оригинальный эпик по улучшению генерации кода по уточняющему запросу и
оригинальный эпик по улучшению генерации кода.


Используйте GitLab Pages без DNS с подстановочными знаками


(Доступно в планах Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Ранее при создании проекта GitLab Pages вам приходилось приводить формат домена к виду name.example.io или name.pages.example.io. Это означало, что нужно было настраивать DNS-записи с подстановочными знаками и сертификаты SSL/TLS. В GitLab 16.7 вы можете создавать проекты GitLab Pages без DNS с подстановочными знаками. Эта фича является экспериментальной.


Удаление требования к подстановочным сертификатам сокращает административные расходы, связанные с GitLab Pages. Некоторые клиенты не могут использовать GitLab Pages из-за ограничений на формат DNS-записи или сертификаты с подстановочными знаками.


Мы будем рады получить фидбек по этой фиче в тикете 434372.


Документация по использованию GitLab Pages без DNS с подстановочными знаками и оригинальный тикет.



Новое детальное представление графиков отчётов GitLab Insights


(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Plan
C отчётами GitLab Insights вы можете анализировать закономерности с течением времени, используя настраиваемые диаграммы. Новые возможности детализации, добавленные в отчёты Insights «Ошибки, созданные по приоритету» и «Ошибки, созданные по серьёзности», позволяет вам детализировать отчёты аналитики тикетов для более глубокого анализа.


Мы планируем включить эту фичу в другие отчёты Insight в качестве настраиваемой опции в более поздних релизах.


Документация по детализации графиков Insight и оригинальный тикет.


New drill-down view from Insights report charts


Результаты сканирования SAST в представлении изменений мерж-реквеста


(Доступно в планах SaaS: ULTIMATE) Стадия цикла DevOps: Secure
Результаты сканирования SAST теперь отображаются в представлении изменений мерж-реквеста (в русской локализации GitLab «запрос на слияние»). Это облегчает просмотр, понимание и исправление потенциальных недостатков в процессе ревью кода.


Строки, содержащие тикеты SAST, отмечены специальным символом. Нажмите на символ, чтобы просмотреть список тикетов, а затем выберите тикет, чтобы просмотреть подробную информацию о нём.


Мы активировали эту фичу на GitLab.com. Мы также планируем добавить её как переключаемую фичу, активированную по умолчанию для инстансов с самоуправлением в GitLab 16.8.


Документация по представлению списка изменений мерж-реквеста, оригинальный тикет и оригинальный эпик.



Бета-версия каталога CI/CD


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
В GitLab 16.7 появляется бета-версия каталога CI/CD! В каталоге вы можете искать компоненты CI/CD, которые поддерживаете вы, ваша организация или сообщество GitLab. Это место, куда все инженеры DevOps приходят, чтобы создавать конфигурации конвейеров (в русской локализации GitLab «сборочная линия»), делать вклад и делиться своими наработками.


В отличие от других методов настройки конвейеров CI/CD, компоненты CI/CD, публикуемые в каталоге, удобнее использовать и добавлять в свои конвейеры. Мы приглашаем вас протестировать эту новую крутую фичу! Вы можете пробовать компоненты, которые создали и выложили другие пользователи, или создавать свои собственные компоненты и делиться ими со всеми.


Это первоначальный релиз бета-версии этой фичи. Мы продолжаем работать над её улучшением. Наша конечная цель — сделать каталог CI/CD фундаментальной частью GitLab CI/CD.


Документация по каталогу CI/CD и оригинальный эпик.



Другие улучшения в GitLab 16.7


Доступ к панели администратора из левой боковой панели


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Администраторы теперь могут получать доступ к панели администратора в один клик, используя ссылку в нижней части левой боковой панели. Ранее вам приходилось выбирать Search or go to (искать или перейти на) и затем выбрать Admin Area (панель администратора). Это изменение сэкономит вам время на доступ к панели администратора.


Access the Admin Area from the left sidebar


Документация по панели администратора и оригинальный тикет.


Настройка отображаемого формата времени


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
До настоящего времени GitLab отображал время только в 12-часовом формате, и это нельзя было изменить.


Начиная с этого релиза, благодаря вкладу сообщества, вы сможете настраивать формат, в котором будет отображаться время в списках тикетов, на обзорных страницах или в статусе пользователя. Теперь вы можете выбрать:


  • 12-часовой формат, например 2:34 PM
  • 24-часовой формат, например 14:34

Спасибо Thorben Westerhuys за этот вклад!


В следующем майлстоуне (в русской локализации GitLab «этап») мы добавим аудит всех временных меток, которые отображаются в GitLab, чтобы убедиться, что они соответствуют настройкам пользователя.


Документация по настройке формата времени и оригинальный тикет.


Фильтрация по предопределённым диапазонам дат в аналитике потока создания ценности


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Отчёт аналитики потока ценностей теперь имеет набор фильтров, чтобы отображать данные за последние 30, 60, 90 или 180 дней. Эти новые фильтры упрощают процесс выбора даты, делают его более эффективным и помогают разобраться, на что уходит время в процессе разработки.


Filter by predefined date ranges in Value Stream Analytics


Документация по фильтрам аналитики потока ценностей и оригинальный тикет.


Пользовательские эмодзи в группах


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Мы все любим использовать эмодзи. Вы, возможно, пользовались дефолтным набором эмодзи, чтобы оставлять реакции в разных местах в GitLab, однако этого могло быть недостаточно, чтобы выразить всё, что вы чувствуете. Теперь вы можете добавлять свои кастомные эмодзи в настройках группы для использования в проектах этой группы. Пользовательские эмодзи позволяют вам выразить свои эмоции и более эффективно общаться с участниками вашей команды. Мы с нетерпением ждём ваших реакций!


Add custom emoji to groups


Документация по эмодзи-реакциям и оригинальный эпик.


Настройка правил исходящего трафика


(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
В GitLab 16.7 вы сможете задавать правила управления исходящим трафиком при настройке агента GitLab для Kubernetes, что поможет поддерживать удалённую разработку. Используйте эту фичу для ваших установок, в которых инстанс GitLab расположен по частному IP-адресу или в которых рабочая область должна получать доступ к облачному ресурсу в диапазоне частных IP-адресов.


Документация по правилам исходящего трафика и оригинальный тикет.


Улучшена возможность сохранять последние артефакты заданий


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
В GitLab 13.0 мы добавили возможность сохранять артефакты заданий из последнего удачно завершённого конвейера. К сожалению, эта фича также отмечала все неудачно завершённые и заблокированные конвейеры как последние независимо от того, были ли они на самом деле выполненными последними. Это приводило к накоплению в хранилище проекта артефактов, которые приходилось удалять вручную.


В этом релизе мы исправили баги, которые приводили к этому поведению. Артефакты заданий из неудачно завершённых и заблокированных конвейеров сохраняются только в том случае, если они принадлежат последнему выполненному конвейеру. В противном случае, они работают согласно настройке expire_in. Для пользователей GitLab.com, которых затронуло это поведение, ранее сохранённые артефакты будут разблокированы и удалены после запуска нового конвейера.


Настройка Keep artifacts from most recent successful jobs переопределяет настройку заданий artifacts: expire_in и может привести к большому числу артефактов, которые хранятся неограниченное число времени. Если ваши конвейеры создают много крупных артефактов, они могут быстро заполнить хранилище вашего проекта. Мы рекомендуем отключить этот параметр, если эта фича вам не нужна.


Документация по сохранению артефактов конвейеров и оригинальный тикет.


Получение списка тегов репозитория с помощью нового API реестра контейнеров


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
Ранее реестр контейнеров полагался на API от Docker/OCI, который выдавал список тегов образов репозитория. Этот API имел значительные ограничения по производительности и поиску.


Низкая производительность была вызвана тем, что число запросов к реестру соответствовало числу записей в списке тегов. Кроме того, так как API не отслеживал время публикации, опубликованные временные метки часто оказывались некорректными. Также были ограничения по отображению образов на основе списков манифестов Docker или индексов OCI, например для образов с несколькими архитектурами.


Чтобы избавиться от этих ограничений, мы добавили новый API для получения списка тегов репозитория. После обновления пользовательского интерфейса для использования нового API количество запросов к реестру контейнеров сократится до одного. Временные метки публикации также станут точными, и добавится более надёжная поддержка образов с несколькими архитектурами.


Эта фича доступна только на GitLab.com. Поддержка инстансов с самоуправлением остаётся заблокированной до выхода в общий доступ следующего поколения реестра контейнеров. Вы можете узнать об этом больше в тикете 423459.


Документация по списку образов репозитория и оригинальный тикет.


Бета-версия поддержки OpenTofu


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Deploy
Для пользователей, которые переходят с Terraform на OpenTofu, в этом релизе GitLab добавляет предварительную поддержку OpenTofu. Так как OpenTofu является форком от Terraform, интеграция виджета мерж-реквеста, реестр модулей и состояние Terraform под управлением GitLab работают по умолчанию. Мы добавили поддержку OpenTofu в образ gitlab-terraform, который упрощает использование GitLab IaC.


GitLab продолжает поддерживать Terraform для виджета мерж-реквеста, реестра модулей и состояния Terraform под управлением GitLab.


Документация по GitLab IaC и оригинальный тикет.


Аутентификация для DAST теперь поддерживает многоэтапные формы входа


(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
Новая переменная DAST_AFTER_LOGIN_ACTIONS позволяет задать список действий, которые будут выполняться после логина. Это позволяет реализовать многоэтапное взаимодействие при логине, например можно использовать рабочий процесс Azure AD «Оставаться в системе» (“Keep Me Signed In”).


Документация по настройке дополнительных действий в DAST после логина и оригинальный эпик.


Поддержка непрерывного сканирования уязвимостей при сканировании зависимостей


(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
Непрерывное сканирование уязвимостей теперь общедоступно. Если CVS включён, ваши проекты автоматически сканируются, когда в базу данных рекомендаций GitLab добавляются новые рекомендации. Если обнаруживаются новые уязвимости, связанные с зависимостями, уведомления о них приходят автоматически.


Документация по непрерывному сканированию уязвимостей и оригинальный эпик.


Настраиваемый период времени для ротации токенов доступа


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Govern
Теперь при ротации токена доступа можно опционально ввести новый параметр expires_at. Это позволяет настроить дату истечения срока действия токена. Раньше каждая ротация продлевала срок действия на одну неделю от предыдущей даты истечения. Эта новая фича обеспечивает гибкость в выборе интервала ротации.


Документация по ротации личных токенов доступа и оригинальный тикет.


Операторы атрибутов SAML поддерживают майкрософтовский формат атрибутов


(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Govern
Операторы атрибутов SAML теперь поддерживают формат атрибутов Microsoft SAML, который представлен в форме URL-адреса. Раньше администраторам самоуправляемых инстансов приходилось вручную настраивать операторы атрибутов, а владельцам групп GitLab.com приходилось добавлять пользовательские атрибуты в свои ответы SAML. Это изменение позволяет GitLab с самоуправлением и GitLab.com работать с Microsoft без какой-либо ручной настройки.


Документация по настройке SAML и оригинальный тикет.


Бэкапы поддерживают альтернативные библиотеки сжатия


(Доступно в планах Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Системы
Теперь для резервного копирования можно заменить стандартную однопоточную библиотеку сжатия gzip альтернативной библиотекой сжатия по вашему выбору, используя команды COMPRESS_CMD и DECOMPRESS_CMD. Это позволяет использовать параллельные библиотеки сжатия для ускорения этапа сжатия бэкапа за счёт использования возможностей современных многоядерных процессоров. Указанные команды включают поддержку передачи параметров в библиотеку сжатия, так что можно настраивать, например, уровень и скорость сжатия.


Документация по настройке сжатия при работе с бэкапами и оригинальные тикеты: дать пользователю возможность выбирать программу сжатия для бэкапа, улучшить gitlab:backup:create, используя pigz или другую программу, работающую с многоядерностью и добавить возможность отключения сжатия при бэкапе.


Описания групп увеличены до 500 символов


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Хранение данных
Теперь описания групп могут содержать до 500 символов. Если вы попытаетесь сохранить описание группы большего размера, появится предупреждение о том, что описание слишком длинное. Спасибо @freznicek за этот вклад в развитие сообщества!


Документация по редактированию имени и описания группы и оригинальный тикет.


Строка поиска стала заметнее на странице результатов поиска


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Хранение данных
Строку поиска на странице результатов поиска теперь гораздо лучше видно. Для этого фильтры групп и проектов перенесли на левую боковую панель.


Search bar more prominent on the search results page


Документация по использованию поиска(https://docs.gitlab.com/ee/user/search/) и оригинальный тикет.


Понятные результаты импорта путём прямого переноса


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Мы знаем, как важно для наших пользователей понимать результаты процесса импорта, так что в этом релизе мы улучшили информацию, показываемую для импорта путём прямой передачи. Теперь мы отображаем значки статуса импорта рядом с группами и проектами GitLab на:



Значки статуса импорта:


  • Не запущен (Not started)
  • Ожидает выполнения (Pending)
  • Идёт импорт (Importing)
  • Не удалось выполнить (Failed)
  • Тайм-аут (Timeout)
  • Отменён (Cancelled)
  • (Complete)
  • Частично завершён (Partially completed)

Значок Частично завершён был добавлен в этом релизе и обозначает процесс импорта, который завершился, но в ходе которого некоторые элементы, например мерж-реквесты или тикеты, не были импортированы.


У групп, для которых был запущен процесс импорта, есть ссылка Посмотреть подробности (View details), которая показывает импортированные подгруппы и проекты для этой конкретной группы. Отсюда можно просмотреть список элементов, которые не удалось импортировать (если такие есть), нажав ссылку Посмотреть сбои (See failures). Эта ссылка появилась в последнем релизе.


В этом релизе мы также улучшили навигационную цепочку (хлебные крошки) между этими страницами.


Документация по просмотру результатов импорта и оригинальный тикет.


Убрали захардкоженные лимиты времени для завершения миграции


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Миграции групп и проектов GitLab, выполняемые путём прямого переноса, могут зависать по разным причинам. Раньше, чтобы не оставлять эти миграции в незавершённом состоянии на неопределённый срок, GitLab периодически запускал воркер для выявления миграций, которые не завершились в течение 8 часов, и помечал эти миграции как прерванные по таймеру.


В крупных организациях процесс миграции может занимать более 8 часов, так что этого времени не всегда было достаточно, чтобы правильно определить, зависла ли миграция. В результате воркер мог неправильно помечать миграцию как зависшую.


В этом релизе вместо 8-часового ограничения времени GitLab помечает миграцию как зависшую только в том случае, если дочерние воркеры прекращают работу на 24 часа.


Документация по лимитам при импорте(https://docs.gitlab.com/ee/user/group/import/#limits) и оригинальный тикет.


Улучшения в редакторе форматированного текста


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
В GitLab 16.2 мы выпустили редактор форматированного текста в качестве альтернативы существующему редактору Markdown. Редактор форматированного текста предоставляет возможность редактирования по принципу WYSIWYG «что видишь, то и получаешь» и расширяемую основу, на которой мы можем создавать пользовательские интерфейсы редактирования для разных вещей, например диаграмм, встроенного контента, управления медиа.


В GitLab 16.7 мы изменили редактор форматированного текста, чтобы привести его поведение в соответствие с нашим опытом редактирования Markdown и исправить обнаруженные ошибки. Мы изменили порядок сортировки в модальном окне автозаполнения меток, чтобы обеспечить соответствие между редакторами, устранили ошибку в опциях, возвращаемых в быстром действии отмены назначения в WYSIWYG-редакторе, добавили поддержку пользовательских эмодзи и обновили внешний вид и функциональность выпадающего списка для выбора быстрого действия, чтобы добиться единообразия в обоих редакторах, а также внесли другие улучшения.


Документация по редактору форматированного текста и оригинальный тикет.


Теперь поддерживаются сложные цепочки зависимостей мерж-реквестов


(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Зависимости мерж-реквестов в GitLab — отличный способ гарантировать, что изменения кода, зависящие от других изменений, не сломают кодовую базу, если их смержить. Раньше GitLab не допускал сложных цепочек зависимостей, так что могли возникать циклические ссылки или глубокая вложенность.


Ограничения, связанные с иерархией зависимостей и элементами цепочки, были сняты. Зависимости мерж-реквестов теперь могут быть более сложными: один мерж-реквест может быть заблокирован максимум десятью мерж-реквестами и, в свою очередь, блокировать до десяти других мерж-реквестов. Более глубокие цепочки зависимостей позволяют представлять более сложные рабочие процессы через зависимости. Мы рады видеть, как вы продолжаете расширять использование этой фичи.


Документация по зависимостям в мерж-реквестах и оригинальный тикет.


Уведомления, когда нужно одобрить мерж-реквест


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Когда для мерж-реквеста нужно ваше одобрение, было бы полезно получать уведомления, чтобы вы знали, что нужно что-то сделать. Некоторые пользователи хотят получать уведомления только тогда, когда их одобрение требуется, что обычно делается путём добавления пользователя по имени для просмотра изменений. Однако некоторые пользователи хотят получать уведомление о любом мерж-реквесте, который они имеют право одобрить, даже если они не добавлены по имени как рецензенты.


Включите пользовательский уровень уведомлений Добавлен как утверждающий (Added as approver), чтобы отправлять email и добавлять одобрение в список todo для каждого мерж-реквеста, который вы имеете право одобрить. Это поможет вам быстрее узнавать о мерж-реквестах и предпринимать действия для мержа предложений.


Notify me when any merge request needs approval


Документация по настройке уведомлений и оригинальный тикет.


Ключевое слово artifacts:public в CI/CD теперь общедоступно


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Раньше ключевое слово artifacts:public было доступно только как отключённая по умолчанию фича для инстансов с самостоятельным управлением. Теперь в GitLab 16.7 мы сделали ключевое слово artifacts:public общедоступным для всех пользователей. Теперь его можно использовать в файлах конфигурации CI/CD, чтобы контролировать, должны ли артефакты задания быть доступными для всех.


Документация по настройке публичности артефактов и оригинальный эпик.


Переименование проектов с образами контейнеров в реестре контейнеров на GitLab.com


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
До этого релиза нельзя было переименовать проект, в котором был репозиторий контейнеров хотя бы с одним тегом, если предварительно не удалить все образы контейнеров, связанные с этим проектом.


Это было реальной проблемой, которая заставляла пользователей полагаться на пользовательские скрипты, чтобы вручную удалить или переместить все теги, прежде чем можно было использовать другое название проекта. Теперь можно переименовывать проекты на GitLab.com, даже если у них есть образы контейнеров в реестре.


Документация по редактированию имени и описания проектов и оригинальный эпик.


Повторное открытие тикетов службы поддержки, когда внешний участник оставляет комментарий


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Monitor
Теперь можно настроить GitLab на повторное открытие закрытых тикетов, когда внешний участник добавляет новый комментарий по email. Это даёт вам полную информацию о текущих обсуждениях, даже после того, как проблема, указанная в тикете, была решена.


Кроме того, добавляется внутренний комментарий, в котором упоминаются ответственные за тикет и создаются пункты в todo для них. Таким образом, можно быть уверенным, что следующий email не потеряется.



Документация по настройке переоткрытия тикетов и оригинальный тикет.


Обновления проверки уязвимостей DAST


(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
В релизе 16.7 мы включили по умолчанию следующие активные проверки DAST на основе браузера:


  • Проверка 89.1 заменяет проверки ZAP 40018, 40019, 40020, 40021, 40022, 40024, 40027, 40033, и 90018 и выявляет SQL-инъекцию;
  • Проверка 918.1 заменяет проверку ZAP 40046 и выявляет подделку запроса на стороне сервера;
  • Проверка 98.1 заменяет проверку ZAP 7 и выявляет удалённое включение файлов PHP;
  • Проверка 917.1 заменяет ZAP-проверку 90025 и выявляет инъекцию языка выражений;
  • Проверка 1336.1 заменяет проверку ZAP 90035 и выявляет внедрение шаблонов на стороне сервера.

Документация по сканированию DAST(https://docs.gitlab.com/ee/user/application_security/dast/checks/) и оригинальный тикет.


Обновлённые правила SAST для уменьшения количества ложноположительных результатов


(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
Мы обновили набор правил по умолчанию, используемый в GitLab SAST, чтобы обеспечить более качественные результаты. Мы проанализировали каждое правило, которое ранее было включено по умолчанию, а затем удалили правила, которые не приносили достаточной пользы в большинстве кодовых баз.


Изменения правил включены в обновлённые версии анализатора GitLab SAST на основе Semgrep. Это обновление автоматически применяется в GitLab 16.0 или новее, если только вы не закрепили определённую версию анализаторов SAST.


Существующие результаты сканирования по удалённым правилам будут автоматически разрешены после того, как ваш конвейер выполнит сканирование с обновлённым анализатором.


Мы работаем над дальнейшими улучшениями правил SAST в эпике 10907.


Документация по важным изменениям в правилах SAST и оригинальный эпик.


Применение переменных с наивысшим приоритетом в правилах выполнения сканирования


(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Приоритет переменных CI/CD был переработан, чтобы в первую очередь использовать переменные, определённые в правилах выполнения сканирования.


Когда организации работают над соблюдением требований, часто бывает нужно обеспечить включение сканеров безопасности в критически важных для бизнеса приложениях.


Правила выполнения сканирования позволяют командам применять сканеры и определять дефолтные и пользовательские переменные CI/CD. Благодаря этому усовершенствованию приоритета переменных CI/CD команды могут быть уверены, что при любом запуске конвейеров переменные, определённые с учётом соответствия требованиям, остаются неизменными и будут использоваться.


Документация по приоритетам переменных CI/CD и оригинальный тикет.


Назначение пользователям кастомных ролей через пользовательский интерфейс


(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Теперь через пользовательский интерфейс можно назначить кастомную роль новому пользователю или изменить роль существующего пользователя на кастомную. Это можно сделать в любой части интерфейса, где в данный момент можно назначать или изменять роль пользователя. Раньше это можно было делать только через API.



Документация по назначению пользователям кастомных ролей и оригинальный тикет.


Добавление ника Mastodon в свой профиль пользователя


(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Хранение данных
Теперь можно указать свой ник Mastodon в профиле пользователя. Благодаря этому усовершенствованию мы теперь поддерживаем социальную сеть Fediverse, которая поможет в продвижении ActivityPub для GitLab.


Документация по добавлению внешних аккаунтов в профиль пользователя и оригинальный тикет.


Тикеты с кодом чаще находятся расширенным поиском


(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Направление: Хранение данных
В GitLab 16.7 тикеты с кодом стали более заметными. В расширенном поиске теперь можно находить тикеты, в описаниях которых есть фрагменты кода и логи.


Документация по расширенному поиску(https://docs.gitlab.com/ee/user/search/advanced_search.html) и оригинальный тикет.
Полный текст релиза и инструкции по обновлению и установке вы можете найти в оригинальном англоязычном посте GitLab 16.7 released with general availability of GitLab Duo Code Suggestions and CI/CD Catalog in Beta.
Над переводом с английского работали maryartkey, ainoneko и rishavant.

Комментарии (6)


  1. MountainGoat
    13.01.2024 18:58

    Дырки-то законопатили?


    1. ritorichesky_echpochmak
      13.01.2024 18:58
      +2

      Зачем, у них теперь Мухамед Али коммитает, никто к ним не полезет...


    1. aol-nnov
      13.01.2024 18:58

      пишут, что в 16.7.2 )


  1. selivanov_pavel
    13.01.2024 18:58
    +4

    Помню, как я удивился в каком-то релизе, когда пропал доступ по клику к админке(по-моему, до этого там была кнопка с гаечным ключом), и выяснил, что её теперь надо выкапывать из поиска.


  1. stanito
    13.01.2024 18:58

    Продукт официально ушел из России, закрыт доступ к покупкам лицензий. Кажется не лучшим вариантом завязываться на его использование, с учетом того, что параллельно развиваются другие полностью открытые продукты, например gitea


    1. aionin Автор
      13.01.2024 18:58
      +1

      У всех свои требования к системе хранения версий Git/системе сборки и своя стратегия. GitLab - тоже открытый софт. В редакции Community нет платных фич, но функционал очень-очень богатый - от CI/CD до скана кода. Есть редакция FREE, эквивалентная Community, куда откатилось большинство клиентов. Можно ждать, когда gitea догонит gitlab, но если функционал нужен сегодня, то я б не стеснялся...