Мы с радостью объявляем о релизе GitLab 16.5 с отчётами о соблюдении стандартов соответствия требованиям, правилами задания целевой ветки мерж-реквеста, возможностью завершать обсуждения по тикету, ускорением цепочек мерж-реквестов для полулинейной истории коммитов и многими другими фичами!
Это лишь несколько из более 25 улучшений, добавленных в этом релизе. Читайте дальше, чтобы узнать обо всех основных изменениях.
Мы благодарны сообществу GitLab за 170 изменений, которые вы внесли в релиз 16.5! В GitLab каждый может сделать свой вклад, и ваш вклад в этот релиз неоценим!
Чтобы заранее узнать, что запланировано на следующий месяц, посмотрите страницу наших будущих релизов — на ней есть видео, посвящённое релизу 16.6.
Мы отметили, что Thorben активно ведёт работу над своим мерж-реквестом, который добавляет пользовательские настройки для отображения времени в 24-часовом формате. Эта фича запланирована на релиз 16.6 и даст пользователям выбор между 12-часовым и 24-часовым форматами времени.
Magdalena Frankiewicz, продакт-менеджер в GitLab, номинировала Thorben и отметила, что тикет по этой фиче был открыт на протяжении 7 лет и получил более 190 голосов. Peter Leitzen, штатный инженер по бэкенду в GitLab, также рассказал о работе Thorben по рефакторингу бэкенд-кода, связанного с форматом времени.
Thorben — технический директор в LUUCY, 3D веб-платформе, объединяющей геоданные в высоком разрешении. Также он был техническим директором в cividi, консалтинговой компании по геопространственным данным, связанным с городским планированием.
Спасибо Thorben и всему сообществу GitLab за ваши вклады! 🙌
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
В центре соответствия требованиям GitLab теперь есть новая вкладка для отчёта о соблюдении стандартов. Этот отчёт включает в себя стандарт лучших практик GitLab и показывает, когда проекты в вашей группе не соответствуют требованиям проверок, включённых в стандарт. По умолчанию отображаются три проверки:
Отчёт содержит подробную информацию о статусе каждой проверки для каждого проекта. Также он показывает, когда проверка проводилась в последний раз, к какому стандарту она относится и как исправить любые сбои или проблемы, которые могут быть показаны в отчёте. В будущих итерациях будет добавлено больше проверок и будет расширена их область действия за счёт большего количества правил и стандартов. Кроме того, мы будем улучшать группировку и фильтрацию отчётов, чтобы помочь вам сосредоточиться на проектах или стандартах, которые наиболее важны для вашей организации.
Документация по панели стандартов соответствия требованиям и оригинальный эпик.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Некоторые проекты используют для разработки несколько долгосрочных веток, например “develop” и “qa”. В этих проектах можно оставить ветку main в качестве ветки по умолчанию, поскольку она представляет состояние проекта на стадии продакшена. Однако процесс разработки предполагает, что мерж-реквесты будут нацелены на ветку “develop” или “qa”. Правила целевой ветки помогают гарантировать, что мерж-реквесты нацелены на подходящую ветку для вашего проекта и рабочего процесса разработки.
Когда вы создаёте мерж-реквест, имя ветки проверяется на соответствие правилу. Если имя ветки соответствует правилу, мерж-реквест предварительно выбирает ветку, указанную вами в правиле, в качестве целевой. Если имя ветки не совпадает, мерж-реквест будет нацелен на ветку проекта по умолчанию.
Документация по настройкам правил для целевой ветки мерж-реквеста и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Тикеты (в русской локализации GitLab «обсуждения»), работа над которыми велась на протяжении долгого времени, может быть неудобно просматривать и отслеживать. Для упрощения работы с такими тикетами мы добавили возможность отмечать обсуждения по ним как завершённые, когда тема дискуссии исчерпана.
Документация о завершении обсуждений по тикетам и оригинальный тикет.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
В GitLab 16.4 мы добавили ускорение цепочек мерж-реквестов. В продолжение этой фичи мы хотим убедиться, что они будут работать для всех методов мержа. Теперь, если вы хотите обеспечить сохранение полулинейной истории коммитов, вы можете использовать полулинейные цепочки мерж-реквестов с ускоренной перемоткой вперёд.
Документация по цепочкам мерж-реквестов и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Мы видели ваши отзывы о том, что на левой боковой панели бывает сложно найти кнопку поиска и переключаться между такими контекстами, как проекты и настройки. В этом релизе мы сделали кнопку более заметной. Так её легче заметить, что упрощает ваш рабочий процесс.
Чтобы попробовать это улучшение, выберите кнопку Search or go to… либо введите на клавиатуре / или s.
Документация по левой боковой панели и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Вы можете использовать события релиза, чтобы мониторить объекты релиза и реагировать на изменения. Раньше веб-хук активировался только при создании или обновлении релиза. Однако в строго регулируемых отраслях удаление релизов тоже является важнейшим событием, которое необходимо отслеживать, чтобы вовремя принимать меры. В GitLab 16.5 веб-хук также срабатывает при удалении релиза.
Документация по событиям релиза и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Начиная с GitLab 16.5, вы можете экспортировать отдельные вики-страницы в файлы PDF. Теперь обмениваться знаниями в команде стало ещё проще. Экспорт вики в PDF можно использовать в различных случаях. Например, можно отправить копию технической документации, которая хранится в вики, или поделиться информацией в вики со статусом проекта. Теперь нет необходимости использовать альтернативные инструменты для преобразования файлов Markdown в PDF, что в некоторых организациях запрещено. Спасибо JiHu за эту фичу!
Документация по экспорту вики-страниц и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Теперь вы сможете назначать родителя для задач, целей и ключевых результатов при помощи быстрого действия /set_parent
.
Документация по быстрым действиям и оригинальный тикет.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Deploy
В строго регулируемых отраслях развёртывания являются центральной темой для соответствия требованиям. В предыдущих релизах подтверждения развёртывания не входили в число событий аудита, из-за чего было сложно определять, когда и как изменялись правила подтверждения.
Теперь в GitLab добавлен новый набор событий аудита для подтверждения развёртываний и изменения правил подтверждения в защищённых окружениях.
Документация по событиям аудита для управления окружением и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Secure
В рамках релиза 16.5 мы добавили следующие активные проверки, включённые по умолчанию, для сканирований DAST, выполняемых в браузере:
Документация по сканированию DAST и оригинальный эпик.
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Раньше вам приходилось удалять заголовки HTTP, добавленные в места назначения трансляции событий аудита, даже если нужно было лишь временно отключить их.
В GitLab 16.5 можно использовать чекбокс Активен (Active) в пользовательском интерфейсе GitLab, чтобы включать и выключать каждый заголовок по отдельности. Это можно использовать, чтобы:
Документация по трансляции событий аудита и оригинальный эпик.
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Отчёт о нарушениях соответствия требованиям может содержать большое количество информации. Раньше эту информацию можно было просмотреть только в пользовательском интерфейсе GitLab. Это было приемлемо для отдельных тикетов, но могло вызвать затруднения, если, например, требовалось:
В GitLab 16.5 теперь можно экспортировать в формате CSV список элементов, включённых в отчёт о нарушениях соответствия требованиям.
Документация по экспорту отчёта о нарушениях соответствия требованиям и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
В платформу настраиваемых ролей добавили права на управление участниками групп и токенами доступа к проектам. Эти права можно добавить к любой базовой роли для создания пользовательской роли. Если вы создаёте пользовательские роли с правами, необходимыми для выполнения определённого набора задач, то теперь вам не нужно назначать пользователям высокопривилегированные роли, такие как мейнтейнер (в русской локализации GitLab «сопровождающий») и владелец.
Документация по использованию пользовательских ролей и оригинальный тикет.
(Доступно в планах Self-Managed: PREMIUM, ULTIMATE) Направление: Системы
Теперь для любого управляемого Geo компонента данных можно запустить массовую повторную синхронизацию или повторную проверку через пользовательский интерфейс администратора Geo. При выборе кнопки операция будет применена ко всем элементам данных, относящимся к соответствующему компоненту. Раньше это было возможно только при входе в консоль Rails. Эти действия теперь стали доступнее. Также улучшены возможности устранения неполадок и применения крупномасштабных изменений, требующих полной повторной синхронизации или повторной проверки определённых компонентов, например перемещения мест хранения.
Документация по администрированию Geo(https://docs.gitlab.com/ee/administration/geo/) и оригинальный эпик.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; Self-Managed: PREMIUM, ULTIMATE) Направление: Хранение данных
Популярность эпиков (в русской локализации GitLab «цели») в GitLab продолжает расти. Ранее поиск эпиков был несколько сложнее, чем поиск других типов контента. Начиная с этого релиза, при использовании расширенного поиска вы сможете искать и просматривать результаты для эпиков.
Документация по глобальному поиску и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
С помощью приложения GitLab для Jira Cloud можно подключить GitLab к Jira Cloud для синхронизации информации о разработке в режиме реального времени. Просмотреть эту информацию можно на панели разработки Jira. Раньше, когда для мерж-реквеста назначался рецензент, информация о нём не отображалась на панели разработки Jira. В этом релизе имя рецензента, email-адрес и статус утверждения будут отображаться на панели разработки Jira при использовании приложения GitLab для Jira.
Документация по панели разработки Jira(https://docs.gitlab.com/ee/integration/jira/development_panel.html#information-displayed-in-the-development-panel) и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Теперь можно добавить дочерний элемент для задачи, цели или ключевого результата с помощью быстрого действия /add_child
.
Документация по быстрым действиям и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
В этом релизе вы сможете связывать задачи и цели и ключевые результаты (OKRs, objectives and key results). Доступно три вида связей: «связанные» (“related”), «заблокированные» (“blocked by”) и «блокирующие» (“blocking”) — чтобы обеспечить прослеживаемость между зависимыми и связанными рабочими элементами.
При миграции эпиков и тикетов на платформу элементов рабочего процесса все эти типы можно связывать между собой.
Документация по связыванию элементов в целях и ключевых результатах и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Недавно было добавлено ограничение скорости для конечной точки API project/:id/jobs
, которое по умолчанию составляет 600 запросов в минуту на одного пользователя. В качестве следующей итерации мы делаем это ограничение настраиваемым, что позволит администраторам инстансов устанавливать ограничение, наиболее соответствующее их требованиям.
Документация по настройке ограничения скорости и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Monitor
Мы изменили дизайн списка тикетов службы поддержки. Теперь он загружается более плавно и быстро и больше похож на обычный список тикетов. Новые фичи включают:
Документация по списку тикетов службы поддержки в новом дизайне и оригинальный тикет.
(Доступно в планах Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Govern
Теперь можно использовать новую конечную точку REST API по адресу user/personal_access_tokens
для создания нового личного токена доступа для текущего аутентифицированного пользователя. В целях безопасности область действия этого токена ограничена k8s_proxy
, поэтому с этим токеном можно выполнять вызовы API Kubernetes только с помощью агента для Kubernetes. Раньше только администраторы инстансов могли создавать личные токены доступа через API.
Документация по созданию личных токенов доступа и оригинальный тикет.
(Доступно в планах Self-Managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Govern
Теперь администраторы могут настраивать правила блокировки пользователей для своего инстанса, выбирая количество неудачных попыток входа и время блокировки пользователя. Например, при пяти неудачных попытках входа пользователь будет заблокирован на 60 минут. Это позволяет администраторам определить правила блокировки, отвечающие их потребностям в области безопасности и соответствия требованиям.
Раньше количество попыток входа в систему и период времени блокировки пользователя нельзя было настроить.
Документация по настройке блокировки пользователей и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Раньше для логирования в Google Cloud можно было настроить трансляцию событий аудита только для групп верхнего уровня. В GitLab 16.5 мы добавили поддержку такого логирования и на уровне инстанса.
Документация по настройке трансляции событий аудита и оригинальный эпик.
(Доступно в планах SaaS: PREMIUM, ULTIMATE) Стадия цикла DevOps: Govern
Раньше у владельцев групп не было возможности программно удалить информацию SAML или SCIM. Это затрудняло устранение проблем с процессами инициализации и регистрации пользователей. Теперь владельцы групп могут использовать новые конечные точки для удаления этой информации.
Спасибо jgao1025 за эту фичу!
Документация по удалению информации SCIM и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; Self-Managed: ULTIMATE) Стадия цикла DevOps: Govern
Как пользователю, вам важна возможность группировать уязвимости, чтобы более эффективно их сортировать. В этом релизе их можно группировать по степени серьёзности или по статусу. Это поможет вам лучше видеть количество подтверждённых уязвимостей в группе или проекте или количество уязвимостей, всё ещё нуждающихся в сортировке.
Документация по группировке уязвимостей и оригинальный эпик.
(Доступно в планах Self-Managed: FREE, PREMIUM, ULTIMATE) Направление: Системы
Резервное копирование и восстановление GitLab теперь поддерживает хранение данных репозитория в объектном хранилище. Это обновление повышает производительность за счёт устранения промежуточных шагов, используемых для создания большого архивного файла, который необходимо вручную сохранять в соответствующем месте.
Благодаря этому обновлению резервные копии репозитория сохраняются в выбранном вами месте хранения объектов (Amazon S3, облачное хранилище Google, облачное хранилище данных Azure, MinIO и т. д.). Это изменение устраняет необходимость вручную перемещать данные из вашего инстанса Gitaly.
Документация по настройке бэкапа репозитория и оригинальный эпик.
Полный текст релиза и инструкции по обновлению и установке вы можете найти в оригинальном англоязычном посте GitLab 16.5 released with compliance standards adherence reports and merge request target branch rules.
Над переводом с английского работали @maryartkey, @ainoneko, @cattidourden и @rishavant.