Мы рады представить вам новый релиз GitLab 14.2 с бета-версией Build Cloud для macOS, предварительным просмотром Markdown, расширенной интеграцией Gitpod, новыми метриками внедрения DevOps и многим другим!


Картинка для привлечения внимания


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


Приглашаем на наши встречи.


GitLab MVP badge


MVP этого месяца — Cornelius Ludmann


Cornelius добавил возможность открывать изменения кода в Gitpod при просмотре мерж-реквеста (в русской локализации GitLab «запрос на слияние»). Более того, даже эта запись в блоге GitLab была создана и отредактирована с помощью Gitpod! Ещё в GitLab 13.5 Cornelius работал над открытием проекта в Gitpod со страницы репозитория. Теперь же вы можете запускать Gitpod прямо со страницы мерж-реквеста, чтобы ускорить его ревью и уменьшить переключения контекста в вашей локальной среде разработки.


Подробнее об этой фиче читайте далее в посте. Спасибо за этот вклад, Cornelius! Мы считаем, что облачные среды разработки, такие как Gitpod, уменьшают количество препятствий и позволяют каждому внести свой вклад.


Основные фичи релиза GitLab 14.12


GitLab Build Cloud для macOS (бета-версия)


(SaaS: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify


Ранее разработчикам, работающим с GitLab SaaS в экосистеме Apple, приходилось устанавливать и обслуживать обработчики заданий GitLab (GitLab Runner) для выполнения рабочих процессов CI/CD на собственных macOS-системах. Теперь вы можете создавать приложения на бета-версии Build Cloud для macOS — платформе сборки на базе GitLab Runner, интегрированной с CI/CD GitLab SaaS.


Доступ к бета-версии изначально есть только у одобренных пользователей и участников программы GitLab for Open Source. Более подробную информацию вы можете найти в соответствующем посте в блоге.


Вы всегда можете установить обработчик заданий для macOS во всех Apple-окружениях, включая MacStadium или AWS.


GitLab Build Cloud for macOS beta


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


Запуск предварительно настроенного рабочего пространства Gitpod из мерж-реквеста


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create


Интеграция Gitpod, представленная в релизе GitLab 13.5, помогает управлять вашими сложными средами разработки. Определив конфигурацию проекта в коде, вы можете одним щелчком мыши запустить готовую облачную среду разработки. Благодаря этому удобному рабочему процессу вносить новые изменения можно ещё быстрее. Однако, запуск среды Gitpod для ревью существующего мерж-реквеста означал создание среды в основной ветке, а затем переключение на целевую ветку и повторную сборку.


Начиная с релиза 14.2 вы сможете запускать Gitpod прямо со страницы мерж-реквеста, предварительно настроив использование целевой ветки, чтобы ускорить процесс ревью и уменьшить переключения контекста. Включите интеграцию с Gitpod в настройках, и в ваших мерж-реквестах появится объединённая кнопка Открыть в (Open in), с помощью которой вы сможете открыть мерж-реквест либо в Web IDE, либо в Gitpod.


Спасибо Cornelius Ludmann из Gitpod за эту фичу!


Launch a preconfigured Gitpod workspace from a merge request


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


Отслеживайте использование сканирования зависимостей и фаззинг-тестирования


(SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Manage


Теперь вы легко сможете узнать, какие группы в вашей организации включили сканирование зависимостей и фаззинг-тестирование. Ранее вы могли отслеживать внедрение этих фич GitLab только через API, теперь же вы можете сравнить их использование вашими группами в таблице DevOps Adoption. Вы можете отсортировать таблицу, чтобы легко определить, какие группы уже используют эти средства безопасности.


Track use of dependency scanning and fuzz testing


Документация по таблице DevOps Adoption и оригинальный эпик.


Предварительный просмотр Markdown-контента при редактировании


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create


Markdown — это удобный и быстрый синтаксис для написания расширенного веб-контента. До тех пор, пока он не перестаёт быть таким уж удобным и понятным. К счастью, на вкладке Предварительный просмотр (Preview) в редакторе легко просмотреть отрисованный результат вашей Markdown-разметки, чтобы убедиться в её корректности. К сожалению, переключение контекста между исходным кодом и предварительным просмотром может потребовать много времени и помешать вашей продуктивности.


Теперь для Markdown-файлов (и в Web IDE, и в редакторе одиночного файла) доступен новый режим работы редактора, с предварительным просмотром в реальном времени. Щёлкните правой кнопкой мыши в редакторе и выберите Предварительный просмотр Markdown (Preview Markdown) или используйте комбинацию Command/Control + Shift + P, чтобы включить предварительный просмотр Markdown-контента на том же экране. Это превью будет обновляться по мере ввода текста, так что вы сможете убедиться, что ваша разметка верна и будет отображаться так, как вы задумали.


Preview Markdown live while editing


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


Используйте CI/CD переменные в блоках include в .gitlab-ci.yml


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify


Теперь вы можете использовать переменные в составе блоков include в файлах .gitlab-ci.yml. Это могут быть CI/CD-переменные уровня инстанса, группы или проекта.


Это улучшение предоставляет большую вариативность при создании конвейеров (в русской локализации GitLab «сборочные линии»). Вы можете использовать один и тот же файл .gitlab-ci.yml для нескольких проектов и изменять его параметры с помощью переменных. Это позволит уменьшить дублирование в файле .gitlab-ci.yml и уменьшит сложность конфигурации этих файлов для каждого проекта.


Use CI/CD variables in `include` statements in `.gitlab-ci.yml`


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


Улучшенное отслеживание уязвимостей для анализаторов GoSec, Semgrep и Brakeman


(SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure


В течение жизненного цикла проекта код в нём редко остаётся неизменным. Рефакторинг, изменения в базе кода, удаления — всё это наверняка произойдёт. Наша текущая система идентификации обнаруженных уязвимостей работает довольно грубо и приводит к большому количеству дублирующихся результатов по мере перемещения кода. В настоящее время уязвимости, найденные с помощью SAST и Secret Detection, используют положение внутри файла для определения местоположения уязвимости в коде. Со временем мы теряем возможность отслеживать перемещение уязвимости по мере добавления или удаления строк из файла с найденной уязвимостью. Это затрудняет определение действительно новых результатов сканирований, особенно в контексте мерж-реквеста.


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


Мы уже добавили эту новую систему отслеживания уязвимостей в наши анализаторы GoSec для Go, Semgrep для JavaScript, TypeScript, React и Python, а также в Brakeman для Ruby и Ruby on Rails. Мы продолжим расширять поддержку этой системы и добавим другие анализаторы в будущих релизах.


Improved vulnerability tracking for GoSec, Semgrep, and Brakeman analyzers


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


Конвейеры без этапов


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify


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


В релизе 14.2 мы убрали это ограничение, и теперь вы можете задавать отношения needs между любыми заданиями. Таким образом, вы можете создать полный CI/CD-конвейер без использования этапов вовсе, добавив needs в каждое задание для неявной настройки порядка выполнения. Так вы сможете быстрее и проще настраивать конвейеры, которые ещё и будут выполняться быстрее.


Stageless pipelines


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


Новый пользовательский интерфейс для GitLab Kubernetes Agent


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure


Агент для Kubernetes от GitLab обеспечивает безопасное двухстороннее соединение между GitLab и кластером Kubernetes. До сих пор для регистрации нового агента нужно было писать GraphQL-запросы.


Начиная с релиза 14.2 GitLab предоставляет удобный пользовательский интерфейс и форму регистрации, которые помогут вам легко начать работу с GitLab Kubernetes Agent.


New GitLab Kubernetes Agent UI


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


Создавайте ветки GitLab из тикетов Jira


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create


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


Create a GitLab branch from a Jira issue


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


Экспорт CSV-отчёта по участникам группы верхнего уровня


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


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


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


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


Export membership CSV report from top-level group


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


Миграция групп теперь соответствует ручному импорту/экспорту групп


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


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


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


Group Migration achieves parity with group import/export


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


Скрывайте все тикеты, созданные заблокированными пользователями


(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


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


Hide all issues created by banned users


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


Просмотр истории по использованию CI-минут


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify


До релиза 14.2 использование минут CI-конвейера на странице Usage Quotas показывало только использование за текущий месяц. Эти данные сбрасывались каждый месяц, и не было никакого способа просмотреть активность за прошлые месяцы для анализа использования в прошлом.


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


View historical CI pipeline minute usage


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


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


Добавили метки наборов правил по соответствию требованиям в список проектов на уровне группы


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


Метки наборов правил по соответствию требованиям теперь отображаются в списке проектов на уровне группы. Так вы сможете уже по списку понять, у каких проектов есть особые наборы правил по соответствию требованиям.


Add compliance framework labels to group-level project list


Документация по наборам правил по соответствию требованиям Issue


Назначайте проекту набор правил по соответствию требованиям через GraphQL


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


Теперь вы можете добавлять к проекту набор правил по соответствию требованиям не только через интерфейс GitLab, но и с помощью GraphQL API. Создавать и настраивать проекты через API стало удобнее, как и обновлять множество проектов за раз.


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


Групповые токены доступа для аутентификации в Git


(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


Пользователи с доступом к консоли Rails могут создавать групповые токены доступа для выполнения действий на уровне группы и управления проектами в группе через один токен. Ранее использование группового токена доступа приводило к ошибке аутентификации. В этом релизе мы:




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


Отображение числа этапов рабочего процесса на каждой стадии аналитики цикла разработки на уровне проекта


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


Аналитика цикла разработки для проектов теперь показывает общее число этапов рабочего процесса на каждой стадии цикла. Это поможет вам легко оценить объём работы на каждой стадии.


See the number of items in each stage in project-level Value Stream Analytics


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


Редактирование заголовка тикета на доске задач


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan


Сейчас, чтобы отредактировать тикет на доске задач (в русской локализации GitLab «доска обсуждений»), нужно выполнить несколько шагов, что выводит вас из рабочего процесса. Мы добавили простой способ редактировать заголовок тикета прямо на доске задач без необходимости переходить на другую страницу. Чтобы отредактировать заголовок, выберите тикет, затем нажмите Изменить на правой боковой панели.


Edit issue title from an issue board


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


Более удобное редактирование страниц вики


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create


С новым WYSIWYG-редактором использовать Markdown в ваших вики стало проще чем когда-либо. Однако расположение панели инструментов в редакторе сделало форматирование текста на длинных страницах неудобным.


В GitLab 14.2 все наиболее часто используемые инструменты форматирования (полужирный, курсив, зачёркнутый и код) отображаются во всплывающем меню над выделенным текстом. Это позволит вам работать более эффективно. Пусть больше времени уходит на создание контента, а не на прокрутку страницы вверх-вниз.


Format wiki pages more easily


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


Загрузка и прикрепление файлов в новом редакторе вики


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create


В GitLab 14.1 появилась возможность загружать и вставлять изображения в новом редакторе контента вики.


В GitLab 14.2 вы сможете аналогичным образом загружать и прикреплять файлы в форматах .zip, .pdf, .txt и другие бинарные файлы. Это делает нас на один шаг ближе к полному соответствию фичам классического редактора вики и открывает дополнительные способы совместной работы над контентом на страницах вики.


Upload and attach files in the new wiki editor


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


Отображение внутреннего ID конвейера на странице конвейеров


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify


IID (Internal ID) конвейера — это внутренний ID конвейера относительно проекта, который его запустил. IID увеличивается на единицу для каждого нового конвейера в проекте. IID конвейера растёт гораздо медленнее, чем ID конвейера, который увеличивается на единицу для каждого запущенного конвейера во всем инстансе GitLab. Это делает IID конвейера более полезным значением для таких сценариев, как версионирование релизов проекта на основе конвейеров, отслеживание конвейеров на основе порядка их запуска в проекте, метрик конвейеров в проекте, и т.д.


Чтобы IID конвейера было удобнее использовать, мы добавляем на страницу конвейеров возможность поменять отображение с ID на IID внутреннего проекта. Теперь вы сможете легко посмотреть, какой конвейер соответствует используемым IID.


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


Использование токенов развёртывания с прокси зависимостей


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package


Чтобы ограничить использование внешних зависимостей и сократить время сборок, вы можете использовать прокси зависимостей GitLab для кэширования часто используемых образов из Docker Hub.


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


Просто создайте групповой токен развёртывания и имя пользователя с разрешениями read_registry и write_registry. Затем залогиньтесь в реестре на GitLab.com с именем пользователя и паролем вашего токена развёртывания и пользуйтесь прокси и кэшированием для образов контейнеров из Docker Hub.



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


Анализатор SAST .NET обновлён для поддержки проектов Visual Studio 2019


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure


Мы обновили наше статическое тестирование безопасности приложений (SAST) для .NET, сканирование безопасности кода для миграции на новый базовый образ Alpine, чтобы повысить совместимость, стабильность, производительность и безопасность этого анализатора. Это не должно вызвать проблем, однако, если вы используете before_script с заданием security-code-scan-sast, вам, возможно, придётся обновить содержимое вашего before_script, чтобы разобраться с несовместимыми вызовами функций.


Мы также обновили сканирование безопасности кода до последней мажорной версии v5. Это добавляет поддержку проектов, собранных в Visual Studio 2019, а также является важным обновлением нового механизма межпроцедурного анализа угроз. Так как это мажорный релиз, мы решили сделать это обновление вручную. В будущих релизах эта версия будет использоваться по умолчанию. Чтобы начать пользоваться новой версией, используйте процедуру обновления Security Code Scan до новой версии: SAST_ANALYZER_IMAGE_TAG: 3.


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


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


Анализатор SAST Semgrep для языка C


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure


В GitLab 13.12 мы выпустили анализатор Semgrep для Javascript, TypeScript и Python. Сегодня мы расширяем поддержку Semgrep и для проектов, написанных на языке C. Эта фича разработана совместно с r2c, разработчиками Semgrep, которые разделяют нашу миссию — помогать разработчикам писать более безопасный код. После масштабного бета-тестирования, в ходе которого сотни пользователей попробовали наш экспериментальный анализатор, мы готовы начать полноценный переход на Semgrep. Начиная с версии 14.2 мы обновляем наш шаблон CI SAST.gitlab-ci.yml для автоматического запуска этого нового анализатора наряду с уже существующим анализатором C/C++, Flawfinder. В одном из будущих релизов мы полностью отключим Flawfinder, как только добавим поддержку для C++, но пока он будет работать совместно с Semgrep. Мы проделали работу по дедупликации результатов, так что вы не должны заметить никакой разницы. Если вы используете нашу конфигурацию SAST.gitlab-ci.yml, вы сможете сразу начать пользоваться Semgrep. Однако, если вы задаёте конфигурацию SAST CI вручную, вам нужно обновить ваш файл конфигурации CI.


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


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


Ключевое слово deployment_tier в веб-хуке событий конвейера


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Release


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


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


Параметры состояния Terraform в пользовательском интерфейсе


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure


К управляемому GitLab файлу состояния Terraform можно получить доступ из GitLab CI/CD без каких-либо специальных настроек. Чтобы получить доступ к тому же файлу состояния с локальной машины, нужно инициализировать Terraform с несколькими параметрами.


Найти нужные параметры может быть непросто, и при этом легко ошибиться. Поэтому теперь мы предоставляем простой пользовательский интерфейс на странице списка файлов состояний Terraform, который показывает команду, необходимую для инициализации доступа к файлу состояния Terraform из командной строки. Вы можете получить доступ к этому интерфейсу через пункт меню Инфраструктура > Terraform.


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


Отправка писем выбранным пользователям в рамках правил эскалации


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Monitor


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


Email specific users in an escalation policy


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


Geo верифицирует реплицированные сниппеты с контролем версий


(self-managed: PREMIUM, ULTIMATE) Доступность


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


В следующей итерации мы добавим автоматическое восстановление при обнаружении несоответствия при верификации.


Верификация Geo работает в рамках фреймворка репликации Geo, и мы также планируем добавить верификацию для всех остальных типов реплицируемых данных.


Обратите внимание: Эта фича была ошибочно объявлена в посте, посвящённом релизу GitLab 13.11. Она была доступна как переключаемая фича, но не была включена по умолчанию. В GitLab 14.2 мы убрали необходимость явно подключать её и включили верификацию по умолчанию.


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


Балансировка нагрузки для Sidekiq включена по умолчанию


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Доступность


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


Балансировка нагрузки Sidekiq была добавлена в GitLab 14.1 и теперь включена по умолчанию с GitLab 14.2.


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


Подсказки на странице результатов глобального поиска при тайм-ауте


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Доступность


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


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


Добавьте произношение на страницу профиля GitLab


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


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


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


Отображение местного времени в профиле пользователя


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


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


Display local time on user's profile


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


Возможность скрыть секретные ключи приложений


(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


Ранее поле Секрет (Secret) было видно в пользовательском интерфейсе GitLab на странице конфигурации приложения. Для повышения безопасности мы скрыли это поле и добавили кнопку Копировать (Copy). Вы можете скопировать ключ и сохранить его в защищённом месте. Это гарантирует, что секрет не будет виден открытым текстом тем, кто смотрит на экран.


Hide application secrets


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


Просмотр всех метрик аналитики цикла разработки для проектов


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage


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


В этом релизе вы сможете просматривать одни и те же метрики на уровне проекта и группы в зависимости от вашей подписки в GitLab. Аналитика, как проекта, так и группы, теперь включает Новые тикеты, Коммиты, Развёртывания, Частоту развёртывания, Время выполнения (планы Premium и Ultimate) и Время цикла (планы Premium и Ultimate).


View all Value Stream Analytics metrics for projects


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


Немедленное удаление проектов, запланированных для отложенного удаления


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan


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


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


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


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


Отображение выбранной метки при фильтрации тикетов Jira


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create


Теперь пользователи могут видеть, какие метки они использовали для фильтрации списка тикетов Jira. Это изменение делает удобнее работу с тикетами, предоставляя пользователям полный контекст того списка, который они просматривают.


Show selected label when filtering Jira issues


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


Просмотр проектов, использующих пользовательские настройки интеграции


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create


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


View projects that use custom integration settings


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


Отображение связанных конвейеров на мини-графике конвейера


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify


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


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


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


Предоставляйте доступ к своему реестру контейнера, не открывая исходный код


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package


При настройке проекта вы можете для разных фич по-разному настраивать разрешения для таких вещей, как тикеты или репозиторий. Например, в общедоступном проекте вы всё равно можете предпочесть разрешить доступ к репозиторию только участникам проекта.


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


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



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


Стало удобнее использовать страницу конфигурации безопасности и соответствия требованиям


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure


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


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


Improved usability of Security & Compliance Configuration page


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


Анализатор SAST для Go теперь поддерживает Go 1.16


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure


Мы обновили наш анализатор для статического тестирования безопасности приложений (SAST), работающий с языком Go, GoSec. Теперь он поддерживает Go 1.16. Это обновление вводит поддержку проектов Go, для которых требуется эта версия Go, но также ограничивает использование GOPATH только проектами без модулей Go. Если вам потребуется использовать GOPATH, теперь вы можете зафиксировать младшую версию анализатора, использующую GoSec версии 3.1.3. В таком случае вы не сможете автоматически получать обновления анализатора, и вам придётся вручную указывать версию анализатора в шаблоне CI.


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


Обновления анализаторов SAST


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure


Статическое тестирование безопасности приложений (SAST) в GitLab включает в себя множество анализаторов безопасности, активно управляемых, поддерживаемых и обновляемых командой статического анализа GitLab. Ниже представлены обновления анализаторов, выпущенные в релизе 14.2. В этих обновлениях появилось расширенное покрытие, исправление ошибок и другие улучшения.



Если вы:


  • Используете поставляемый GitLab шаблон SAST (SAST.gitlab-ci.yml), то вам не нужно ничего делать, чтобы получить эти обновления. Однако если вы переопределяете или используете свой собственный шаблон CI/CD, вам потребуется обновить конфигурации CI/CD.
  • Хотите использовать определённую версию любого анализатора, теперь вы можете закрепить минорную версию анализатора. Закрепление одной из предыдущих версий отменит автоматические обновления анализатора, и вам потребуется вручную менять версию анализатора в шаблоне CI/CD.

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


Автоматическое создание файла конфигурации для CI/CD-туннеля


(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure


До сих пор пользователям туннеля CI/CD агента GitLab Kubernetes приходилось вручную добавлять соответствующий файл конфигурации kubeconfig в задание CI/CD. Для создания файла kubeconfig нужно было редактировать определение конвейера CI/CD, знать идентификатор агента и понимать структуру kubeconfig. К тому же, определение конвейера CI/CD содержит шаблонный код.


Теперь GitLab добавляет файл kubeconfig, содержащий все доступные соединения агента для данного проекта. Пользователю нужно только выбрать для использования правильный kubecontext.


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


Быстрое действие для обновления серьёзности инцидента


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Monitor


Теперь вы можете изменить серьёзность тикета, созданного из инцидента, с помощью быстрого действия /severity. Например, быстрое действие /severity 3 в тикете инцидента устанавливает степень серьёзности 3. Этот удобный способ позволяет реагирующим на инциденты быстро обновлять инцидент и сразу же возвращаться к решению проблемы.


Add quick action for updating incident severity


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


К результатам поиска добавить возможность копирования пути к файлу


(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Доступность


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


Add file path copy ability to code search results


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


Улучшения удобства использования


В каждом релизе мы делаем шаги в сторону повышения общей эффективности и полезности нашего продукта. У нас также есть Галерея UI Polish для отслеживания важных обновлений наших интерфейсов. Эти обновления, хоть часто и небольшие, заметно улучшают удобство использования.


Некоторые из заметных улучшений, делающих удобнее GitLab 14.2:



Посмотрите все улучшения удобства использования в GitLab 14.2




Полный текст релиза и инструкции по обновлению/установке вы можете найти в оригинальном англоязычном посте: GitLab 14.2 released with the Build Cloud for macOS beta and Markdown preview.


Над переводом с английского работали cattidourden, maryartkey, ainoneko и rishavant.

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


  1. RainbowJose
    09.09.2021 18:07

    Напомню, что обновлять гитлаб нужно постепенно(в данном случае я про omnibus сборки), хуярить latest раз в пол года - плохая идея.

    Изучите:

    https://docs.gitlab.com/ee/update/#version-specific-upgrading-instructions

    https://docs.gitlab.com/ee/update/#upgrade-paths


    1. aionin Автор
      09.09.2021 19:12

      Мат уберите из комментария


      1. AlexGluck
        09.09.2021 19:41

        По моему это крик души, а не мат)


      1. RainbowJose
        09.09.2021 22:30

        Забыли спросить.