Мы рады объявить о выходе нового релиза GitLab 14.5, включающего сканирование безопасности инфраструктуры как кода, групповые настройки подтверждения мерж-реквестов (в русской локализации GitLab «запросы на слияние»), GitLab Kubernetes Agent для бесплатных планов, темы проектов и многое другое!
Это — лишь несколько основных из более 40 улучшений этого релиза. Читайте далее, и вы узнаете всё об этих классных обновлениях. Чтобы узнать, что выйдет в следующем месяце, зайдите на страницу предстоящих релизов и посмотрите видео по релизу 14.6.
Jonas уже давно участвует в улучшении GitLab, работая вместе с командой GitLab над внесением сложных изменений в приложения для аутентификации на уровне групп, а в релизе 14.5 он проделал огромную работу по улучшению тем проектов, подготовив более 22 мерж-реквестов для разделения тем и тегов в GitLab.
Во время работы над темами проекта Jonas столкнулся с задачей-блокером, для решения которой потребовалось перенести темы из таблицы тегов в базе данных. Он выполнил и эту задачу, чем также помог команде Sharding. Так держать, Jonas! 👏
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
В Gitlab 14.5 мы добавляем сканирование безопасности для конфигурационных файлов инфраструктуры как кода (Infrastructure as Code, IaC). Как и в случае всех SAST-сканеров в GitLab, мы решили сделать эту возможность бесплатной для всех наших пользователей, чтобы способствовать развитию безопасного проектирования конфигураций IaC. Первая версия сканера безопасности IaC поддерживает конфигурационные файлы для Terraform, Ansible, AWS CloudFormation и Kubernetes. Она основывается на проекте с открытым исходным кодом Keeping Infrastructure as Code Secure (KICS). Новое сканирование конфигураций IaC дополняет наш существующий SAST-сканер манифестов Kubernetes.
Если вы уже знакомы с GitLab SAST, то вам будет просто: IaC-сканирование работает точно так же и поддерживает все те же возможности, включая автономный файл конфигурации CI для сканирования, настройку запуска сканирования через интерфейс на странице настроек безопасности, а также все наши фичи по управлению уязвимостями плана Ultimate, включая панели безопасности и виджет мерж-реквеста. С новым шаблоном сканирования IaC также будет проще дополнять наше IaC-сканирование другими сканерами. Будем рады вкладам сообщества с помощью нашего фреймворка интеграции сканирований безопасности.
Документация по сканированию конфигураций IaC и оригинальный эпик.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure
Обеспечивать безопасность доступа к кластерам — первостепенная задача для множества компаний. CI/CD-тоннель для GitLab Kubernetes Agent предоставляет безопасный доступ к кластеру из GitLab CI/CD. До сих пор тоннель наследовал разрешения служебной учётной записи установленного в кластере агента. Многим пользователям необходим более строгий контроль разрешений, желательно на уровне пользователя или задания.
В GitLab 14.5 мы рады представить возможность указать учётную запись для общего доступа и заданий CI/CD. Эти настройки могут быть указаны в конфигурационном файле агента, а разрешениями таких учётных записей можно управлять с помощью правил RBAC.
Документация по настройке работы тоннеля от имени учётной записи и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure
Подключение кластера Kubernetes с помощью GitLab Kubernetes Agent упрощает настройку кластерных приложений и позволяет проводить безопасные GitOps-развёртывания на кластер. Первоначально GitLab Kubernetes Agent был доступен только для Premium пользователей GitLab. В соответствии с нашей приверженностью идее открытого исходного кода мы переместили основные фичи GitLab Kubernetes Agent и CI/CD-тоннеля в план GitLab Free. Мы ожидаем, что эти фичи будут полезны для многих пользователей, у которых нет отдельных команд по инфраструктуре и жёстких требований к управлению кластерами. Дополнительные фичи остаются доступными в рамках пакета GitLab Premium.
Документация по GitLab Kubernetes Agent и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Блокноты Jupyter играют ключевую роль в рабочих процессах специалистов по Data Science и инженеров машинного обучения, однако структура этих файлов затрудняет ревью кода. Часто для таких файлов невозможно должным образом провести ревью, и пользователи вынуждены принимать изменения не глядя или относиться к своим репозиториям как к хранилищам данных, а не как к совместным проектам.
Теперь GitLab автоматически скрывает ненужные фрагменты и отображает более понятную версию диффов для таких файлов. Удобные для чтения диффы облегчают просмотр сути изменений, не заставляя отвлекаться на разбор необходимого для блокнотов Jupyter форматирования.
Документация по диффам для блокнотов Jupyter и оригинальный эпик.
(self-managed: PREMIUM, ULTIMATE) Доступность
При выполнении аварийного переключения системные администраторы используют различные инструменты в зависимости от базовой архитектуры. На сайтах Geo с единственной нодой администраторы могут использовать команду gitlab-ctl promote-to-primary-node
. Однако сайты с несколькими нодами не поддерживали эту команду и требовали ручного редактирования конфигурации. Это было обременительно для больших окружений, поскольку нужно было обновлять десятки конфигурационных файлов.
Теперь администраторы могут использовать команду gitlab-ctl geo promote
на любой ноде вторичного сайта Geo для повышения её статуса до первичной. В сценариях аварийного восстановления или запланированного переключения это позволяет сэкономить драгоценное время и уменьшить количество возможных ошибок при переводе вторичного сайта в первичный. Эта команда также упрощает создание сценария обработки аварийного переключения.
Начиная с GitLab 14.5 команды gitlab-ctl promote-to-primary-node
и gitlab-ctl promote-db
считаются устаревшими (deprecated) и будут удалены в версии GitLab 15.0.
Документация по запланированному переключению, оригинальные тикет и эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Благодаря вкладу от Jonas Wälter в этом релизе появилась новая вкладка Обзор тем (Explore topics) на странице Проекты (Projects).
При выборе темы вы увидите её аватарку и описание, а также все относящиеся к ней проекты.
Документация по просмотру тем проектов и оригинальный тикет.
(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Благодаря вкладам от Jonas Wälter в этом релизе также появились следующие фичи для управления темами проектов на панели администратора:
Документация по управлению темами проектов и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Теперь вы можете устанавливать и принудительно применять настройки подтверждения мерж-реквестов на уровне группы. Эти значения наследуются и используются всеми проектами внутри группы.
Групповые настройки подтверждений мерж-реквестов значительно облегчают организациям разделение обязанностей в командах. Настройки достаточно задать в одном месте, обновлять и контролировать каждый проект больше не потребуется. При настройке подтверждений на уровне группы:
Документация по настройкам подтверждений мерж-реквестов и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
include
— одно из самых популярных ключевых слов, используемых при написании полных CI/CD-конвейеров (в русской локализации GitLab «сборочные линии»). Если вы создаёте масштабные конвейеры, вы, вероятно, используете ключевое слово include
для добавления внешней YAML-конфигурации в ваш конвейер.
В этом релизе мы расширяем возможности этого ключевого слова, чтобы вы могли использовать include
с условиями exists
. Теперь вы можете решать, когда внешняя CI/CD-конфигурация должна или не должна быть добавлена в конвейер в зависимости от того, существует ли в репозитории нужный файл.
Документация по использованию правил с ключевым словом include и оригинальный тикет
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Теперь вы можете добавить раздел README в свой профиль на GitLab. Это отличный способ рассказать другим о своих интересах, о том, как вы работаете, или о чём-то ещё.
Чтобы добавить раздел README, создайте новый публичный проект с тем же именем, что и у вашей учётной записи, и добавьте туда файл README. Содержимое этого файла будет автоматически отображаться в вашем профиле в GitLab.
Документация по README в профиле пользователя и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Protect
При создании правил проверки уязвимостей необходима высокая степень детализации, чтобы была возможность настроить подтверждения мерж-реквестов только тогда, когда это требуется в соответствии с требованиями безопасности в вашей организации. С релизом 14.5 GitLab обеспечивает более детальную настройку правил проверки уязвимостей. Пользователи теперь могут определять, какие сканеры, уровни серьёзности и типы уязвимостей будут учтены при срабатывании правила. Кроме того, пользователи могут установить минимальный порог количества уязвимостей, для которых должны будут выполняться условия, чтобы мерж-реквест потребовал подтверждения. Если требовать подтверждения после проверки уязвимостей только для тех мерж-реквестов, которые действительно в этом нуждаются, вы сможете разгрузить команды разработчиков и специалистов по безопасности. Вы можете настроить эти более детальные проверки уязвимостей на странице Настройки > Основные > Подтверждение запросов на слияние (Settings > General > Merge request approvals) в вашем проекте.
Документация по правилам проверок на уязвимости и оригинальный эпик.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Мы обновили поиск секретных ключей GitLab, добавив 47 новых хорошо идентифицируемых шаблонов для популярных приложений. Теперь сканер может находить секретные ключи по более чем 90 шаблонам.
Предположим, вы — поставщик SaaS, ваше приложение генерирует секретные токены с хорошо идентифицируемыми шаблонами, и вы хотели бы, чтобы GitLab мог их находить. В таком случае советуем добавить регулярное выражение, соответствующее вашему шаблону, и несколько примеров невалидных токенов в комментариях к этому тикету — мы добавим их в сканирование для поиска секретных ключей в GitLab.
Документация по поддерживаемым секретным ключам и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В предыдущих версиях GitLab мы поддерживали свойства project_limit
и can_create_groups
только для новых пользователей, созданных с помощью SAML. Если учётные записи были созданы с помощью системы SCIM или обновлены через поставщика SAML с этими свойствами, значения project_limit
и can_create_groups
не обновлялись.
Теперь, если учётная запись создана через SCIM или её свойства обновляются через поставщика SAML, эти данные синхронизируются с GitLab. Таким образом, поставщик учётных записей будет являться единственным источником достоверной информации о пользовательских данных.
Документация по настройкам пользователей с SAML и оригинальный тикет.
(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Временные ошибки LDAP могут приводить к блокировке учётных записей пользователей, в результате чего они не могут выполнить вход. Теперь после исправления ошибки GitLab перепроверит данные LDAP и разблокирует пользователей, заблокированных через LDAP, если у них настроен другой метод аутентификации (например, SAML или OAuth), и они пытаются войти через него.
Документация по LDAP и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Администраторы теперь могут создавать групповые ссылки SAML с минимальным доступом для групп высшего уровня. Это позволит повысить безопасность, так как у новых пользователей будет минимальный уровень доступа, а дополнительные права можно будет предоставлять на уровне подгрупп.
Документация по групповой синхронизации и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе благодаря вкладу пользователя Jonas Wälter добавление тем в настройках проекта стало проще чем когда-либо. Раньше, чтобы добавить тему, нужно было ввести её вручную, а несколько тем необходимо было перечислять через запятую. Теперь вы можете выбирать темы из выпадающего списка, что намного удобнее и эффективнее.
Документация по настройкам проекта и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Мы улучшили производительность трафика между Workhorse и Gitaly, в результате чего команда git fetch
теперь потребляет меньше ресурсов сервера GitLab. Это изменение может привести к проблемам в инстансах GitLab с самостоятельным управлением, если между Workhorse и Gitaly развернут прокси gRPC. В этом случае Workhorse и Gitaly теперь не смогут установить соединение. Чтобы обойти это ограничение, отключите временную переключаемую фичу workhorse_use_sidechannel. Если вам нужен прокси между Workhorse и Gitaly, используйте TCP-прокси.
Документация по Gitaly 14.5.0 и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Мерж-коммиты могут содержать важный контекст о вносимых в проект изменениях. Однако если перед мержем вы не редактируете сообщение коммита, то другим пользователям придётся переходить к мерж-реквесту, чтобы узнать подробнее о том, почему были внесены эти изменения.
Мейнтейнеры проекта (в русской локализации GitLab «сопровождающие») теперь могут настроить шаблон сообщения мерж-коммита по умолчанию. Это позволяет проектам задавать стандартное описание мерж-коммитов и передавать дополнительную информацию о мерже в этих сообщениях через переменные. Дополнительный контекст поможет другим разработчикам разобраться, для чего было сделано это изменение. Теперь всю релевантную информацию можно собрать в одном мерж-коммите.
Спасибо Piotr за эту фичу!
Документация по шаблонам коммита и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
В GitLab 14.1 мы добавили в новый редактор вики WYSIWYG-редактирование для таблиц. Однако виды контента, который можно было добавлять в ячейки таблицы были ограничены базовой реализацией Markdown: вы не могли добавлять в таблицы списки, блоки кода или цитаты. В GitLab 14.5 такая возможность появилась. Теперь вы можете вставлять в ячейки таблицы списки, блоки кода, абзацы, заголовки и даже вложенные таблицы. Это даёт больше гибкости и свободы форматировать контент по своему вкусу.
Документация по редактору вики и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Для отслеживания статуса запущенного конвейера иногда приходится переключаться между совершенно разными контекстами. Ранее редактор конвейера отображал только общий статус конвейера и ссылку на него. В этом релизе мы добавили на страницу редактора мини-график состояния конвейера, чтобы вам было проще отслеживать статус отдельных задач прямо со страницы редактора.
Документация по мини-графикам конвейеров и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Раньше у администраторов GitLab не было возможности легко находить обработчики заданий (runners) по инстансам, группам или проектам. Из-за ограниченных возможностей поиска и фильтрации было сложно найти нужный обработчик при устранении проблем с выполнением заданий CI/CD.
Этот релиз включает первое обновление страницы обработчиков заданий, которую можно найти в Панель администратора > Обработчики заданий (Admin Area > Runners). Новая структура страницы поможет вам быстрее находить нужные обработчики заданий и позволит в дальнейшем продолжить улучшать управление ими. Ключевое улучшение в этом редизайне — вкладки, фильтрующие список обработчиков заданий по типу, и индикаторы, показывающие обработчики заданий, которые давно не подключались к GitLab.
Документация по управлению обработчиками заданий и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
В GitLab 14.5 мы обновили личные токены доступа и токены доступа проекта. Теперь они по умолчанию включают стандартный префикс glpat-
для инстансов на GitLab.com и инстансов GitLab с самостоятельным управлением. Мы также обновили наше сканирование на секретные ключи, чтобы оно поддерживало поиск этого нового шаблона. Это защитит вас от случайного слива токенов доступа GitLab в коммитах.
Это улучшение основано на вкладе от сообщества, добавленном в Gitlab 13.7, который позволил администраторам добавлять префиксы для личных токенов доступа на уровне инстанса. Спасибо за эту фичу @max-wittig и @dlouzan из Siemens! Уже существующие токены доступа не будут изменены, но любые новые токены будут создаваться по этому шаблону, либо по шаблону, заданному в вашем инстансе с самостоятельным управлением.
Для поиска личных токенов доступа и токенов доступа проекта используйте следующий шаблон регулярного выражения: glpat-[0-9a-zA-Z\-]{20}
.
Документация по личным токенам доступа и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Release
В настоящее время список развёртываний на странице окружений сортируется по дате создания развёртывания, которая связана с изменением SHA коммита. Чтобы вы могли просматривать развёртывания в хронологическом порядке, мы изменили порядок сортировки этого списка по умолчанию. Теперь он сортируется не по дате коммита, а по полю finished_at
. Теперь наверху страницы будут находиться текущие и недавно завершённые развёртывания, а остальные будут располагаться в порядке убывания времени, когда развёртывание завершилось.
Документация по просмотру окружений и развёртываний и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Monitor
Раньше для аутентификации в конечной точке оповещений (HTTP) вам нужен был токен-носитель. Начиная с этого релиза вы также сможете аутентифицироваться через базовую аутентификацию HTTP, через заголовки или URL.
Документация по базовой аутентификации и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Monitor
Ранее при отправке оповещений через POST с использованием обычной конечной точки HTTP для оповещений вы получали в ответ только код 200, который говорит об успешной отправке. Если вы хотите наладить рабочие процессы, связанные с оповещениями, в ответе вам также нужно видеть дополнительную информацию. В этом релизе мы добавили в ответ POST ID оповещения (iid
), что позволит вам отличать ваши оповещения по уникальному ID.
Документация по интеграциям для управления инцидентами и оригинальный тикет.
(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
GitLab теперь создаёт события аудита при изменении дополнительных настроек SAML для групп. События создаются при изменении следующих настроек:
Эти события дают вам представление о том, кто и когда настраивал или изменял групповые настройки SAML. Их можно использовать при аудите, чтобы показать, что определённые настройки были заданы и больше не изменялись, либо для идентификации изменений, которые требуют более подробного изучения.
Документация по событиям аудита для групп и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Ранее ваш календарь вкладов был согласован с часовым поясом сервера, а не с вашим местным часовым поясом. Большие различия между ними могут создать впечатление, что вы внесли свой вклад на день раньше или позже, чем на самом деле.
Теперь календари согласованы с вашим часовым поясом, если он установлен в настройках. Другие пользователи могут навести указатель мыши на блок с активностью, чтобы просмотреть информацию о вашей дате и времени и сравнить свой часовой пояс с вашим.
Спасибо Dave Barr за эту фичу!
Документация по установке часового пояса и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе, благодаря вкладу Jonas Wälter, добавлять темы в настройках проекта стало проще. В дополнение к свежим фичам управления темами проекта в пользовательском интерфейсе теперь вы также можете использовать API, чтобы выгружать темы по списку или по идентификатору. Мы также предоставили администраторам возможность создавать и редактировать темы через API. Благодаря этому управлять темами проекта становится одинаково удобно как в пользовательском интерфейсе, так и через API.
Документация по темам проекта и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В предыдущих релизах мы добавили возможность фильтровать аналитику цикла разработки (Value Stream Analytics) по меткам, майлстоунам (в русской локализации GitLab «этап») и исполнителям. В этом релизе использовать аналитику цикла станет ещё удобнее, потому что мы добавили прямые ссылки для параметров запроса. Эта фича создаёт из произвольного запроса гиперссылку, которую можно отправить как URL-адрес своим коллегам для совместной работы или сохранить в закладках на будущее.
Документация по аналитике цикла разработки и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
В автоматизированных средах разработки, таких как Gitpod, для настройки GitLab Workflow для Visual Studio Code каждый раз требуется загружать редактор и затем устанавливать токен личного доступа к GitLab. Этот процесс занимает много времени, подвержен ошибкам и приводит к многократному или излишнему использованию токенов доступа.
Новая версия расширения GitLab Workflow, 3.36.0, поддерживает настройку через переменные окружения. Использование этих переменных позволяет настроить аутентификацию всего один раз. Затем каждый инстанс VS Code может пройти аутентификацию, даже если предыдущий инстанс VS Code был удалён.
Документация по настройке токена доступа VS Code через переменные окружения и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Когда вы редактируете длинные вики-страницы, редактор увеличивается по вертикали, чтобы ваш контент помещался полностью. В предыдущих версиях редактор мог становиться настолько длинным, что наверху пропадали значки панели инструментов форматирования. Работать так с чистым Markdown (не в режиме WYSIWYG) становится неудобно. Обойти эту проблему можно было с помощью горячих клавиш. Однако панель инструментов является довольно важным компонентом нового многофункционального редактора Markdown, поэтому многим при недоступности этого интерфейса на экране приходилось постоянно использовать прокрутку содержимого, чтобы переключаться между контентом и панелью.
Теперь, в GitLab 14.5, панель инструментов форматирования остаётся закреплённой в верхней части поля ввода, что позволяет легко использовать удобные функции даже при редактировании очень длинных документов.
Спасибо Mehul Sharma за это полезное улучшение!
Документация по вики в проектах и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
При ревью мерж-реквеста в расширении GitLab Workflow для VS Code у вас есть только список файлов для навигации по изменениям. Это не даёт информации о контексте и структуре, так что становится непонятно, где находятся изменения. В больших проектах, где в разных каталогах могут быть файлы с одинаковыми именами, проводить ревью становится ещё более проблематично.
Начиная с релиза версии 3.37.0 в расширении GitLab Workflow теперь можно переключать вид файлов между списком и деревом. Дерево содержит дополнительную информацию о пути, которая помогает сориентироваться в изменениях и создать полную картину мерж-реквеста.
Спасибо Liming Jin за этот потрясающий вклад!
Документация по ревью мерж-реквестов в VS Code и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
Вы можете использовать реестр пакетов GitLab для публикации и совместного использования пакетов npm. Однако до этого релиза GitLab не извлекал все соответствующие метаданные, подробно описанные в файле package.json
. Это особенно проблематично, когда npm или Yarn полагаются на одно из этих полей. Например, поле bin
определяет исполняемые файлы для вставки в $PATH
. Без этого поля ваши исполняемые файлы не будут работать.
Начиная с этого релиза GitLab теперь извлекает сокращённые метаданные для пакетов npm, включая поле bin
и другие. Если вы публикуете пакеты, которые содержат один или несколько исполняемых файлов для установки в $PATH
, теперь вы можете положиться на безупречную работу реестра пакетов GitLab.
Обратите внимание, что это изменение относится только к новым пакетам. Все пакеты, уже опубликованные в реестре, нужно обновить, чтобы изменения вступили в силу. Кроме того, GitLab извлекает только сокращённые метаданные, что исключает некоторые поля. В тикете GitLab-#344107 ведётся работа над тем, чтобы добавить извлечение полного набора метаданных.
Документация по реестру npm и метаданным и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Статическое тестирование безопасности приложений (SAST) в GitLab включает в себя множество анализаторов безопасности, активно управляемых, поддерживаемых и обновляемых командой статического анализа GitLab. Ниже представлены обновления анализаторов, выпущенные в релизе 14.5; в них были исправлены ошибки, было добавлено расширенное покрытие и прочие улучшения.
Если вы используете поставляемый GitLab шаблон SAST (SAST.gitlab-ci.yml), то вам не нужно ничего делать, чтобы получить эти обновления. Однако если вы переопределяете или используете свой собственный шаблон для SAST, вам потребуется обновить конфигурации CI. Чтобы использовать определённую версию любого анализатора, вы можете закрепить минорную версию анализатора. Закрепление одной из предыдущих версий отменит автоматические обновления анализатора, и вам потребуется вручную менять версию анализатора в шаблоне CI.
Документация по настройке анализаторов SAST и оригинальный тикет.
(self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure
Поддержка тоннеля CI/CD для инстансов с самостоятельным управлением, установленных через GitLab Charts, была представлена в 14.0 и с тех пор значительно улучшилась. В этом релизе мы добавили также поддержку установок Omnibus.
Тоннель CI/CD обеспечивает безопасное соединение из GitLab CI/CD с вашими кластерами Kubernetes с помощью GitLab Kubernetes Agent. Это позволяет пользователям продолжать использовать существующие инструменты и процессы, а также использовать GitLab Kubernetes Agent для надёжной и безопасной настройки.
Документация по CI/CD-тоннелю и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Monitor
Возможно, у вас был случай, когда вы создали инцидент, хотя собирались создать тикет (в русской локализации GitLab «обсуждение»). Инциденты — это особый тип тикетов со своим пользовательским интерфейсом и рабочим процессом, которые нужны для обработки сбоев в обслуживании или простоев. С этого релиза только пользователи с ролью Reporter и выше могут создавать инциденты. Это ограничение сведёт к минимуму количество случайно созданных инцидентов.
Документация по работе с инцидентами и оригинальный тикет.
В каждом релизе мы делаем большие шаги по повышению общей эффективности и полезности нашего продукта.
У нас также есть Галерея UI Polish для отслеживания важных обновлений наших интерфейсов. Эти обновления, хоть часто и небольшие, заметно улучшают удобство использования.
В GitLab 14.5 мы поработали над тикетами, проектами, майлстоунами и многим другим! Мы особо выделяем следующие изменения в GitLab 14.5:
Посмотрите все улучшения удобства использования в GitLab 14.5
Полный текст релиза и инструкции по обновлению/установке вы можете найти в оригинальном англоязычном посте GitLab 14.5 released with infrastructure as code security scanning and group-level merge request approvals.
Над переводом с английского работали @cattidourden, @maryartkey, @ainoneko и @rishavant.