Мы рады представить вам новый релиз GitLab 14.2 с бета-версией Build Cloud для macOS, предварительным просмотром Markdown, расширенной интеграцией Gitpod, новыми метриками внедрения DevOps и многим другим!  Это — лишь несколько основных из более чем 50 улучшений этого релиза. Читайте далее, и вы узнаете всё об этих потрясающих обновлениях. Чтобы узнать, что выйдет в следующем месяце, зайдите на страницу предстоящих релизов, там вы найдёте видео по предстоящему релизу 14.3. Приглашаем на наши встречи.  Cornelius добавил возможность открывать изменения кода в Gitpod при просмотре мерж-реквеста (в русской локализации GitLab «запрос на слияние»). Более того, даже эта запись в блоге GitLab была создана и отредактирована с помощью Gitpod! Ещё в GitLab 13.5 Cornelius работал над открытием проекта в Gitpod со страницы репозитория. Теперь же вы можете запускать Gitpod прямо со страницы мерж-реквеста, чтобы ускорить его ревью и уменьшить переключения контекста в вашей локальной среде разработки. Подробнее об этой фиче читайте далее в посте. Спасибо за этот вклад, Cornelius! Мы считаем, что облачные среды разработки, такие как Gitpod, уменьшают количество препятствий и позволяют каждому внести свой вклад. (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.  Документация по Build Cloud и оригинальный тикет. (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 за эту фичу!  Документация по интеграции Gitpod и оригинальный тикет. (SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Manage Теперь вы легко сможете узнать, какие группы в вашей организации включили сканирование зависимостей и фаззинг-тестирование. Ранее вы могли отслеживать внедрение этих фич GitLab только через API, теперь же вы можете сравнить их использование вашими группами в таблице DevOps Adoption. Вы можете отсортировать таблицу, чтобы легко определить, какие группы уже используют эти средства безопасности.  Документация по таблице DevOps Adoption и оригинальный эпик. (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-контента на том же экране. Это превью будет обновляться по мере ввода текста, так что вы сможете убедиться, что ваша разметка верна и будет отображаться так, как вы задумали.  Документация по редактору Markdown и оригинальный эпик. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify Теперь вы можете использовать переменные в составе блоков include в файлах .gitlab-ci.yml. Это могут быть CI/CD-переменные уровня инстанса, группы или проекта. Это улучшение предоставляет большую вариативность при создании конвейеров (в русской локализации GitLab «сборочные линии»). Вы можете использовать один и тот же файл .gitlab-ci.yml для нескольких проектов и изменять его параметры с помощью переменных. Это позволит уменьшить дублирование в файле .gitlab-ci.yml и уменьшит сложность конфигурации этих файлов для каждого проекта.  Документация по переменным в блоках include и оригинальный тикет. (SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure В течение жизненного цикла проекта код в нём редко остаётся неизменным. Рефакторинг, изменения в базе кода, удаления — всё это наверняка произойдёт. Наша текущая система идентификации обнаруженных уязвимостей работает довольно грубо и приводит к большому количеству дублирующихся результатов по мере перемещения кода. В настоящее время уязвимости, найденные с помощью SAST и Secret Detection, используют положение внутри файла для определения местоположения уязвимости в коде. Со временем мы теряем возможность отслеживать перемещение уязвимости по мере добавления или удаления строк из файла с найденной уязвимостью. Это затрудняет определение действительно новых результатов сканирований, особенно в контексте мерж-реквеста. Мы разработали новый, более совершенный алгоритм отслеживания уязвимостей, который рассматривает сигнатуру уязвимости, а не только её местоположение в коде. Такой способ повышает точность выявления одной и той же уязвимости, которая переместилась в другое место в результате рефакторинга. Мы уже добавили эту новую систему отслеживания уязвимостей в наши анализаторы GoSec для Go, Semgrep для JavaScript, TypeScript, React и Python, а также в Brakeman для Ruby и Ruby on Rails. Мы продолжим расширять поддержку этой системы и добавим другие анализаторы в будущих релизах.  Документация по анализаторам SAST и оригинальный эпик. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify Использование ключевого слова needs в конфигурации конвейера помогает уменьшить время цикла благодаря игнорированию порядка этапов и выполнению заданий без ожидания завершения других. Ранее это ключевое слово можно было использовать только между заданиями, находящимися на разных этапах. В релизе 14.2 мы убрали это ограничение, и теперь вы можете задавать отношения needs между любыми заданиями. Таким образом, вы можете создать полный CI/CD-конвейер без использования этапов вовсе, добавив needs в каждое задание для неявной настройки порядка выполнения. Так вы сможете быстрее и проще настраивать конвейеры, которые ещё и будут выполняться быстрее.  Документация по ключевому слову needs и оригинальный тикет. (SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure Агент для Kubernetes от GitLab обеспечивает безопасное двухстороннее соединение между GitLab и кластером Kubernetes. До сих пор для регистрации нового агента нужно было писать GraphQL-запросы. Начиная с релиза 14.2 GitLab предоставляет удобный пользовательский интерфейс и форму регистрации, которые помогут вам легко начать работу с GitLab Kubernetes Agent.  Документация по GitLab Kubernetes Agent и оригинальный эпик. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create Пользователи приложения GitLab.com for Jira Cloud теперь могут создавать новые ветки в GitLab непосредственно из панели разработки в тикете Jira. Это позволит разработчикам с лёгкостью начинать работу над задачами без лишних переключений между инструментами и потери контекста.  Документация по интеграции с Jira и оригинальный тикет. (SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Теперь вы можете экспортировать в CSV отчёт, в котором перечислены все участники выбранной группы. Этот отчёт уже был доступен на уровне инстанса, и мы рады предоставить его и для групп верхнего уровня. В отчёт включаются пользователи, их адреса электронной почты и уровни разрешений — по всем пользователям группы. Этот отчёт позволяет быстро получить представление о том, кто входит в группу и какой тип доступа возможен для ваших групп и проектов, что поможет вам быстро определить необходимые изменения. Эта фича — большой шаг в направлении предоставления пользователям GitLab.com такого же качественного сервиса, который ранее был доступен только для пользовательских инстансов GitLab.  Документация по экспорту отчёта по участникам группы и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Обновлённая фича миграции групп, GitLab Migration, теперь может переносить группу целиком, вместе со всеми её подгруппами и всеми данными. Теперь при миграции переносится всё то же, что было доступно при экспорте группы, так что эта фича стала самым удобным способом переносить группы. Существовавший ранее процесс импорта и экспорта требовал от вас двух отдельных шагов: сначала экспорта группы в файл, затем его импорта в целевой инстанс GitLab. Теперь пользователи могут инициировать полную миграцию группы всего лишь одним щелчком мыши. Миграция распространяется на все подгруппы и их данные, выполнять отдельные экспорт и импорт для каждой подгруппы выбранной группы больше не потребуется.  Документация по импорту групп и оригинальный эпик. (self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage В дополнение к возможности блокировать и разблокировать пользователей, мы добавляем возможность скрывать все тикеты, созданные заблокированным пользователем. Это пригодится в случаях, когда пользователь бомбардирует инстанс GitLab спамом, создавая ненужные тикеты. Теперь их можно скрыть.  Документация по блокированию и разблокированию пользователей и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify До релиза 14.2 использование минут CI-конвейера на странице Usage Quotas показывало только использование за текущий месяц. Эти данные сбрасывались каждый месяц, и не было никакого способа просмотреть активность за прошлые месяцы для анализа использования в прошлом. Теперь на этой странице есть два графика, которые показывают использование минут конвейера по месяцам и по проектам, чтобы вы могли принимать взвешенные решения об использовании конвейера.  Документация по CI-минутам и оригинальный тикет. (SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Метки наборов правил по соответствию требованиям теперь отображаются в списке проектов на уровне группы. Так вы сможете уже по списку понять, у каких проектов есть особые наборы правил по соответствию требованиям.  Документация по наборам правил по соответствию требованиям Issue (SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Теперь вы можете добавлять к проекту набор правил по соответствию требованиям не только через интерфейс GitLab, но и с помощью GraphQL API. Создавать и настраивать проекты через API стало удобнее, как и обновлять множество проектов за раз. Документация по добавлению к проекту набора правил по соответствию требованиям с помощью GraphQL и оригинальный тикет. (self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Пользователи с доступом к консоли Rails могут создавать групповые токены доступа для выполнения действий на уровне группы и управления проектами в группе через один токен. Ранее использование группового токена доступа приводило к ошибке аутентификации. В этом релизе мы: Документация по групповым токенам доступа и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Аналитика цикла разработки для проектов теперь показывает общее число этапов рабочего процесса на каждой стадии цикла. Это поможет вам легко оценить объём работы на каждой стадии.  Документация по аналитике цикла разработки и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Сейчас, чтобы отредактировать тикет на доске задач (в русской локализации GitLab «доска обсуждений»), нужно выполнить несколько шагов, что выводит вас из рабочего процесса. Мы добавили простой способ редактировать заголовок тикета прямо на доске задач без необходимости переходить на другую страницу. Чтобы отредактировать заголовок, выберите тикет, затем нажмите Изменить на правой боковой панели.  Документация по редактированию тикетов на панели задач и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create С новым WYSIWYG-редактором использовать Markdown в ваших вики стало проще чем когда-либо. Однако расположение панели инструментов в редакторе сделало форматирование текста на длинных страницах неудобным. В GitLab 14.2 все наиболее часто используемые инструменты форматирования (полужирный, курсив, зачёркнутый и код) отображаются во всплывающем меню над выделенным текстом. Это позволит вам работать более эффективно. Пусть больше времени уходит на создание контента, а не на прокрутку страницы вверх-вниз.  Документация по редактору вики-контента и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create В GitLab 14.1 появилась возможность загружать и вставлять изображения в новом редакторе контента вики. В GitLab 14.2 вы сможете аналогичным образом загружать и прикреплять файлы в форматах .zip, .pdf, .txt и другие бинарные файлы. Это делает нас на один шаг ближе к полному соответствию фичам классического редактора вики и открывает дополнительные способы совместной работы над контентом на страницах вики.  Документация по редактору контента вики и оригинальный тикет. (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. Документация по аутентификации через прокси зависимостей и оригинальный тикет. (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 и оригинальный тикет. (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 и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Release В GitLab 13.10 мы представили концепцию типа окружения. В этом релизе мы добавили ключевое слово deployment_tier в веб-хук событий конвейера, чтобы вы могли использовать эту фичу для автоматизации. Документация по событиям конвейера и оригинальный тикет. (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 При создании правил эскалации для уведомлений может быть полезно настроить отправку писем определённому пользователю, помимо дежурного пользователя. В этом релизе мы добавили для команд возможность задавать пользователя, с которым нужно связаться при возникновении инцидента, даже если этого пользователя нет в графике дежурств.  Документация по правилам эскалации и оригинальный тикет. (self-managed: PREMIUM, ULTIMATE) Доступность Geo теперь автоматически верифицирует целостность данных реплицированных сниппетов с контролем версий. Это обеспечит сохранность сниппетов в процессе передачи и при хранении. Если Geo является частью вашей стратегии аварийного восстановления, это защитит ваших пользователей от потери данных. В следующей итерации мы добавим автоматическое восстановление при обнаружении несоответствия при верификации. Верификация Geo работает в рамках фреймворка репликации Geo, и мы также планируем добавить верификацию для всех остальных типов реплицируемых данных. Обратите внимание: Эта фича была ошибочно объявлена в посте, посвящённом релизу GitLab 13.11. Она была доступна как переключаемая фича, но не была включена по умолчанию. В GitLab 14.2 мы убрали необходимость явно подключать её и включили верификацию по умолчанию. Документация по типам реплицируемых данных в Geo и оригинальный эпик. (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 может произойти тайм-аут. Мы добавили страницу для тайм-аута поиска, чтобы помочь пользователям в таких ситуациях и дать им возможность задать более строгие критерии поиска. Документация по базовому поиску и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Теперь вы можете добавить в свой профиль пользователя произношение. В распределённых командах, где члены команды из разных стран, может быть трудно правильно называть имена друг друга. Эта функция поможет другим узнать, как произносится ваше имя. Документация по добавлению произношения в профиль и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Местное время теперь отображается в профилях пользователей. В предыдущих релизах вы могли установить часовой пояс, но он не был виден в профиле в GitLab. Это улучшение будет полезно для распределённых команд, помогая их участникам узнать, когда товарищи по команде смогут быть доступны.  Документация по настройке профиля пользователя и оригинальный тикет. (self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage Ранее поле Секрет (Secret) было видно в пользовательском интерфейсе GitLab на странице конфигурации приложения. Для повышения безопасности мы скрыли это поле и добавили кнопку Копировать (Copy). Вы можете скопировать ключ и сохранить его в защищённом месте. Это гарантирует, что секрет не будет виден открытым текстом тем, кто смотрит на экран.  Документация по OATH-аутентификации и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage До сих пор на уровне проекта и группы отображались разные наборы метрик управления циклом разработки. В этом релизе вы сможете просматривать одни и те же метрики на уровне проекта и группы в зависимости от вашей подписки в GitLab. Аналитика, как проекта, так и группы, теперь включает Новые тикеты, Коммиты, Развёртывания, Частоту развёртывания, Время выполнения (планы Premium и Ultimate) и Время цикла (планы Premium и Ultimate).  Документация по аналитике цикла разработки и оригинальный тикет. (SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Отложенное удаление проекта защищает ваши данные, переводя удалённые проекты в состояние, доступное только для чтения, чтобы вы могли их восстановить. До сих пор отложенное удаление проекта было отключено на GitLab.com, так как не было способа при необходимости удалить проект немедленно. В этом релизе мы добавили для инстанса настройку, позволяющую включить отложенное удаление по умолчанию для всех новых проектов. Вы также можете немедленно удалить проекты, которые запланированы для отложенного удаления, не отключая настройку глобально. Отложенное удаление проекта теперь включено по умолчанию для новых групп и проектов, созданных на GitLab.com, и владельцы групп могут отключить его. Документация по отложенному удалению проектов и оригинальный тикет. (SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create Теперь пользователи могут видеть, какие метки они использовали для фильтрации списка тикетов Jira. Это изменение делает удобнее работу с тикетами, предоставляя пользователям полный контекст того списка, который они просматривают.  Документация по интеграции с Jira и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create В этом релизе мы значительно упростили управление конфигурацией интеграции проекта. Администраторы GitLab теперь могут видеть список проектов, не использующих конфигурацию интеграции по умолчанию. Эта фича помогает администраторам гарантировать, что проекты используют правильные настройки интегрированных систем.  Документация по просмотру проектов с настройками интеграций не по умолчанию и оригинальный тикет. (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 значительно расширил возможности обеспечения безопасности и соответствия требованиям. По мере роста и развития фич увеличивается и количество соответствующих параметров конфигурации. На текущей странице конфигурации безопасности и соответствия требованиям появилось гораздо больше возможностей, чем было предусмотрено изначально, что затрудняет поиск подходящего варианта. Чтобы решить эту проблему, мы переработали страницу конфигурации безопасности и соответствия. Новый дизайн не только делает её удобнее, но и обеспечивает гибкую схему, которая будет масштабироваться по мере того, как мы продолжим расширять наши предложения по безопасности и соответствию требованиям.  Документация по настройке безопасности и соответствия требованиям и оригинальный тикет. (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 и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure Статическое тестирование безопасности приложений (SAST) в GitLab включает в себя множество анализаторов безопасности, активно управляемых, поддерживаемых и обновляемых командой статического анализа GitLab. Ниже представлены обновления анализаторов, выпущенные в релизе 14.2. В этих обновлениях появилось расширенное покрытие, исправление ошибок и другие улучшения. GoSec обновили до версии 2.8.1: мерж-реквест, список изменений, уведомление о поддержке версии 1.16. Security Code Scan обновили до версии 5.2.1: мерж-реквест, список изменений, уведомление об обновлении мажорной версии. ESLint обновили до версии 7.32.0: мерж-реквест, список изменений. Semgrep обновили до версии 0.60.0: мерж-реквест, список изменений. Если вы: Документация по настройке анализаторов SAST и оригинальный тикет. (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. Этот удобный способ позволяет реагирующим на инциденты быстро обновлять инцидент и сразу же возвращаться к решению проблемы.  Документация по изменению серьёзности инцидентов и оригинальный тикет. (SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Доступность При поиске по GitLab пользователи зачастую хотят после открыть найденные файлы в каком-либо редакторе. Поэтому в GitLab 14.2 рядом с путём к файлу в результатах поиска мы добавили значок для копирования найденного пути. Пользователи могут нажать на значок, чтобы скопировать/вставить путь и открыть файл в своём редакторе.  Документация по расширенному поиску и оригинальный тикет. В каждом релизе мы делаем шаги в сторону повышения общей эффективности и полезности нашего продукта. У нас также есть Галерея 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. SDLC | ITSM | BPM | QA