Мы рады сообщить о выходе релиза GitLab 14.8 с новыми типами ключей SSH, новым механизмом правил для подтверждения безопасности, автодополнением в редакторе конвейеров (в русской локализации GitLab «сборочные линии»), событиями аудита для действий администратора от имени пользователя и многим другим!
Это — лишь несколько основных из более 25 улучшений этого релиза. Читайте далее, и вы узнаете всё об этих классных обновлениях. Чтобы узнать, что выйдет в следующем месяце, зайдите на страницу предстоящих релизов и посмотрите видео по релизу 14.9.
Приглашаем на наши встречи.
Начиная с релиза 14.5 Piotr тесно работал как с продуктовой, так и с UX-частью GitLab для разработки решения, позволяющего создавать настраиваемые шаблоны сообщений для мерж-коммитов. В 14.6 он добавил такие же шаблоны на основе переменных для squash-коммитов, значительно повысив удобство работы для команд с различными предпочтениями в отношении таких коммитов.
В GitLab 14.8 он продолжил развивать шаблоны коммит-сообщений. Piotr по-прежнему является замечательным партнёром для команд продукта GitLab, его дизайна, документации и сообщества GitLab в целом. Он добавил замечательное улучшение UX — отображение значения по умолчанию для шаблонов. Теперь пользователи будут лучше понимать текущие настройки шаблонов и то, как их можно изменить.
Piotr также внёс вклад в улучшение документации API мерж-реквестов и добавил в наш REST API новое поле, которое позволяет унифицировать его с GraphQL. Спасибо, Piotr!
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Версия OpenSSH 8.2 добавляет поддержку аппаратных аутентификаторов FIDO/U2F с новыми типами ключей ecdsa-sk и ed25519-sk. GitLab теперь поддерживает эти типы ключей, позволяя пользователям воспользоваться преимуществами аппаратной аутентификации с SSH.
Документация по работе с аппаратными ключами и оригинальный тикет.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
GitLab теперь предоставляет события для начала и завершения работы администратора от имени пользователя на странице событий аудита группы. Ранее эти события отображались только на странице, недоступной для клиентов GitLab SaaS. Мы рады перенести эту информацию на страницу группы, что позволит просматривать эти события как пользователям отдельных инстансов, так и SaaS-пользователям.
Эти события помогут понять, запускал ли администратор работу от имени пользователя в вашей группе, и какие действия выполнял в качестве этого пользователя. Вы сможете сопоставить:
Это поможет вам понять, действительно ли пользователь выполнял определённые действия, или же их выполнял администратор от его лица. Отсутствие таких событий в журнале аудита также позволяет убедиться в том, что пользователь действительно совершал указанные действия, а не кто-то другой выполнял их под его аккаунтом.
Документация по групповым событиям аудита и оригинальный тикет.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
В этом релизе мы добавили в дорожные карты (в русской локализации GitLab «планы развития») дополнительные возможности отслеживания прогресса. Теперь вы можете узнать процент завершённых эпиков (в русской локализации GitLab «цели») на основе количества тикетов (в русской локализации GitLab «обсуждения»), а не на основе их веса. Эта возможность будет полезна для организаций, использующих Kanban или другие методы, которые не требуют, чтобы команды устанавливали вес тикетов.
Вы также можете настроить уровень майлстоунов (в русской локализации GitLab «этапы»), которые будут включены в вашу дорожную карту, что позволит вам адаптировать её представление в соответствии с потребностями вашей аудитории.
Документация по настройкам дорожных карт и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Protect
В GitLab появились гибкие подтверждения безопасности в качестве замены устаревшей фичи проверки уязвимостей Vulnerability-Check. Новый механизм правил похож на Vulnerability-Check в том, что обе эти фичи могут требовать подтверждения мерж-реквестов (в русской локализации GitLab «запросы на слияние»), содержащих уязвимости в безопасности. Однако новый вариант улучшает предыдущую версию в нескольких отношениях:
Правила подтверждения безопасности можно использовать вместе с существующей фичей проверки уязвимостей Vulnerability-Check, поскольку эти два способа являются добавочными и не конфликтуют. Однако мы рекомендуем пользователям перенести свои правила проверки уязвимостей на новый механизм. Фича Vulnerability-Check теперь считается устаревшей, и в GitLab 15.0 мы планируем её удалить. Пользователям самостоятельных инстансов GitLab необходимо включить переключаемую фичу scan_result_policy для использования нового механизма правил. Чтобы начать работу с ними, перейдите в Безопасность и комплаенс > Политики (Security & Compliance > Policies) и создайте новое правило типа Scan Result.
Документация по новому механизму правил подтверждения безопасности и оригинальный эпик.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Написать корректный CI/CD-конвейер в GitLab может быть сложно, независимо от того, новичок вы в этом деле или опытный пользователь. Синтаксическая структура должна быть точной, и даже небольшая опечатка или неправильный параметр конфигурации могут привести к тому, что ваш конвейер окажется неработоспособным, что приведёт к дополнительным затратам на поиск причины этого. В релизе 14.8 мы добавили автодополнение для ключевых слов CI/CD в редактор конвейеров, что значительно повысит эффективность написания и отладки конвейеров. Теперь у вас будет больше уверенности, что ваш конвейер будет работать так, как вы хотели, с первого же запуска.
Документация по подтверждению CI/CD конфигурации и оригинальный эпик.
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе мы добавили количество развёртываний и частоту развёртываний в метрики DORA, отображаемые в разделе Аналитика CI/CD:
Эти данные ранее отображались только в аналитике цикла разработки (Value Stream Analytics, VSA). С помощью этой информации вы сможете лучше отслеживать частоту развёртываний в вашей команде.
Документация по графикам частоты развёртываний и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе мы добавили возможность просмотра средней частоты развёртываний и медианного времени выполнения в метриках DORA4. Теперь вы можете непрерывно отслеживать ваш DevOps-процесс и определять, насколько ваши реальные показатели отличаются от среднего или медианного темпа.
Документация по метрикам DORA4 и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Gitaly обрабатывает файлы .gitconfig, которые могут стать очень большими, если их не обслуживать. Большие файлы .gitconfig могут сильно повлиять на производительность непродолжительных команд Git. В GitLab 14.8:
В совокупности эти обновления повысили производительность на 50% и более для этих непродолжительных команд Git, что привело к существенному снижению затрат времени при выполнении регулярных операций Git!
Документация по Gitaly и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
GitLab ценит эффективность, поэтому мы хотим упростить навигацию по нашей платформе, особенно по страницам заданий и конвейеров. Возможно, вы заметили, что слишком большое число опций и столбцов на этих страницах усложняет поиск информации GitLab CI/CD, релевантной для вашего проекта.
Мы изменили структуру этих страниц, чтобы вам было проще находить нужную информацию о конвейерах, включая статус, имя конвейера, ID мерж-реквеста и SHA коммита.
Документация по странице конвейеров и оригинальный тикет.
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Теперь вы можете просматривать информацию об обработчиках заданий (GitLab Runner) на панели администратора. Там вы увидите самую важную информацию о каждом обработчике заданий, связанном с вашим инстансом: последнее соединение, версию и назначенные проекты, которые теперь разбиты по страницам. На вкладке с заданиями вы также сможете посмотреть полный список заданий, запущенных данным обработчиком. Это поможет вам быстро находить и анализировать выполненные задания CI/CD.
Документация по управлению обработчиками заданий и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Теперь вы можете настраивать предопределённые правила статического сканирования безопасности (SAST) и поиска секретных ключей. Для каждого правила вы можете изменить его название, сообщение, описание и степень серьёзности уязвимостей, чтобы ваша команда DevSecOps знала, какие уязвимости нужно устранить в первую очередь.
Это дополнение к уже существующим возможностям настройки, которые позволяют вам отключать, заменять или дополнять предопределённые правила. Ваши настройки отображаются в файле gl-sast-report.json и артефактах gl-secret-detection-report.json для всех планов GitLab.
С GitLab Ultimate ваши настройки также используются в правилах подтверждения мерж-реквестов и в отчёте об уязвимостях.
Документация по сканированиям SAST и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure
Теперь все сканирования по требованию DAST и DAST API можно найти на одной странице. На ней отображаются ваши текущие, ранее запущенные, сохранённые и запланированные сканирования. На этой странице вы также можете найти нужные сканирования через поиск или перезапустить завершённые. В предыдущих версиях GitLab, чтобы посмотреть текущие или завершённые сканирования по требованию, вам нужно было сначала найти нужный конвейер на странице конвейеров. Сохранённые сканирования по требованию располагались в разделе настроек Безопасность и комплаенс (Security & Compliance). Чтобы найти нужное запланированное сканирование, вам нужно было посмотреть на каждое сохранённое сканирование в отдельности, чтобы узнать его расписание. Всё это теперь доступно на одной странице, что упрощает запуск сканирований по требованию вне сборок CI/CD, мерж-реквестов или конвейеров.
Документация по сканированиям DAST по требованию и оригинальный эпик.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Статическое сканирование безопасности GitLab состоит из множества анализаторов безопасности, которыми команда статического анализа GitLab активно управляет, а также поддерживает и обновляет их. Ниже приведены обновления анализатора, выпущенные в релизе GitLab 14.8. Эти обновления включают дополнительное покрытие кода, исправления ошибок и другие улучшения.
Мы также обновили версию Go, используемую в анализаторах для исправления проблем с безопасностью в Go.
Если вы используете шаблон SAST под управлением GitLab (SAST.gitlab-ci.yml), вам ничего не нужно делать, чтобы получить эти обновления. Однако, если вы переопределяете этот файл или используете свой шаблон CI/CD, для получения обновлений вам нужно будет обновить настройки CI/CD. Чтобы использовать определённую версию любого анализатора, вы можете сделать привязку к минорной версии анализатора. Это предотвратит автоматическое обновление анализатора и потребует ручного обновления версии анализатора в вашем шаблоне CI/CD.
Документация по анализаторам SAST и список анализаторов.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Release
Мы добавили новую метку, чтобы вам было проще увидеть версию вашего последнего релиза на странице проекта. Спасибо Jason D’Amour за эту фичу!
Документация по настройкам конвейера и оригинальный тикет.
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure
Первый шаг при использовании агента Kubernetes в инстансах с самостоятельным управлением — это включение сервера агента, бэкенд-сервиса для агента Kubernetes. В GitLab 14.7 и более ранних версиях мы требовали, чтобы администратор GitLab включал его вручную. Так как эта фича выросла за последние несколько месяцев, мы сделали сервер агента включённым по умолчанию, чтобы упростить настройку для администраторов GitLab. Помимо этого сервер агента принимает несколько параметров, которые позволяют настроить его под ваши нужды.
Documentation Issue
Документация по серверу агента Kubernetes и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Масштабирование
Приглашать участников и группы в проекты теперь можно в модальном окне. Вам больше не нужно проходить эти шаги в форме — теперь будет проще добавлять участников или группы из любого места в GitLab.
Документация по добавлению пользователей в проекты и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе мы работали над одним из первых шагов для достижения полного соответствия фич для владельцев групп (во всех установках GitLab) и фич для администраторов, которые есть только на панели администратора для пользователей инстансов с самостоятельным управлением.
Владельцы групп теперь могут удалять группу и её подгруппы на уровне родительской группы. До сих пор владельцам групп приходилось заходить в каждую отдельную группу, чтобы её удалить, а это долго и неэффективно. Владельцы групп теперь могут просматривать все группы и удалять их с одной страницы.
Документация по удалению групп и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Теперь шаблоны по умолчанию для описаний тикетов и мерж-реквестов можно установить не только в настройках проекта, но и в директории .gitlab репозитория. Для этого создайте файл Default.md в директории шаблонов тикетов или мерж-реквестов. Если шаблоны по умолчанию есть и в настройках проекта, и в репозитории, то будет использоваться шаблон из настроек.
Спасибо за этот вклад, @davebarr!
Документация по шаблонам описаний для мерж-реквестов и тикетов и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Ранее конечная точка API CI Lint проекта, используемая для проверки конфигурации CI/CD, могла вызываться только для конфигурации в ветке по умолчанию. В этом релизе мы добавили необязательный параметр ref для конечной точки, так что теперь вы можете проверять вашу конфигурацию CI/CD в других ветках или тегах.
Документация по проверке конфигурации проекта и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure
В предыдущих версиях GitLab если вы хотели использовать исходный набор в фаззинг-тестировании по покрытию, вам приходилось загружать файл в определённое место и указывать путь к набору с помощью переменной COVFUZZ_SEED_CORPUS. Управление любым набором, который вы могли бы использовать в тестировании, было полностью ручным, включая обновление набора после запуска теста. С GitLab 14.8 управление наборами теперь относится к настройкам в разделе Безопасность и комплаенс (Security & Compliance). Установите для параметра COVFUZZ_USE_REGISTRY значение "true", присвойте переменной COVFUZZ_GITLAB_TOKEN значение личного токена доступа, укажите имя набора с помощью переменной COVFUZZ_CORPUS_NAME — и вы легко интегрируете управление набором в ваш рабочий процесс тестирования.
Файлы набора могут автоматически добавляться в реестр из конвейеров по мере выполнения фаззинг-тестов по покрытию. Их также можно обновлять не только вручную, но и автоматически, с помощью артефактов, полученных из задания этого фаззинг-тестирования. Если набор больше не нужен, его можно удалить прямо со страницы реестра. Файлы набора, перечисленные в реестре, также можно загрузить для проверки или использования где-то ещё. Этот интерфейс управления повышает удобство фаззинг-тестирования по покрытию, когда используются исходные наборы.
Документация по фаззинг-тестированию по покрытию и реестру наборов и оригинальный эпик.
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure
Начиная с версии GitLab 14.8 для DAST-сканирований стала доступна взаимная аутентификация через TLS. Это позволяет целевому серверу приложений проверять, что запросы поступают из известного источника. Сайты, использующие взаимный TLS, теперь можно сканировать с помощью DAST. Чтобы использовать взаимный TLS, необходимо создать замаскированную переменную с именем DAST_PKCS12_CERTIFICATE_BASE64 и сохранить в этой переменной значение сертификата PKCS12 в кодировке base64. Кроме того, для хранения пароля сертификата PKCS12 следует использовать замаскированную переменную с именем DAST_PKCS12_PASSWORD. Обратите внимание, что эта фича ещё не поддерживается основанным на браузере сканером DAST, который все ещё находится в стадии бета-тестирования.
Документация по использованию взаимного TLS в сканировании DAST и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Ранее GitLab SAST возвращал степень серьёзности «Неизвестно» (Unknown) для всех уязвимостей, выявленных в проектах .NET. Теперь результатам .NET присваивается значение серьёзности на основе информации из списка CWE, полученной по этой уязвимости.
Уровни серьёзности включены в артефакт gl-sast-report.json для всех тарифных планов GitLab. В GitLab Ultimate эти новые уровни серьёзности упрощают защиту ваших .NET-проектов за счёт требования утверждения мерж-реквестов и анализа общей степени риска.
Для обратной совместимости уровень серьёзности по умолчанию не будет отображаться по умолчанию, пока вы не обновитесь до GitLab 15.0. Чтобы раньше получить результаты .NET SAST со значениями серьёзности, обновите файл .gitlab-ci.yml, чтобы сделать привязку к последней мажорной версии, версии 3 анализатора Security Code Scan. Вы можете добавить этот сниппет в свой файл .gitlab-ci.yml, чтобы попробовать эти новые возможности сканирования. В GitLab 15.0 эта версия будет использоваться по умолчанию.
Документация по серьёзности уязвимостей и оригинальный тикет.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Release
Мы рады представить подтверждение развёртывания через API. До появления этой фичи команды могли защитить окружение от любых изменений, требуя ручного запуска задания на конвейере. Теперь подтверждение развёртывания является первостепенной концепцией для нашей платформы. Команды могут настроить несколько подтверждающих для конкретного окружения и использовать новую конечную точку API для подтверждения или отклонения развёртывания в нём. Эта возможность позволяет командам создавать рабочие процессы для получения надлежащих подтверждений перед развёртыванием программного обеспечения в продакшен или другое защищённое окружение.
Документация по подтверждениям развёртываний и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Release
Мы добавили возможности ограничения скорости для нашей фичи Страницы GitLab (GitLab Pages). Неограниченный или нежелательный трафик (например, атака типа «отказ в обслуживании») на размещённые страницы может вызвать непредвиденные проблемы с доступностью и даже простои для пользователей. С этим обновлением можно ограничивать скорость для определённых IP-адресов клиентов и для определённого домена размещённых страниц. Эти лимиты можно настроить отдельно. Если трафик превышает установленные ограничения, запросы будут зарегистрированы и отклонены.
Документация по настройке ограничений скорости и оригинальный эпик.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Доступность
Панель инструментов для сайтов Geo позволяет администраторам просматривать и редактировать сведения о своих первичных и вторичных сайтах Geo. Клиентам, работающим с несколькими вторичными сайтами, может потребоваться время, чтобы просмотреть список сайтов и определить те, которые требуют внимания. Мы добавили параметры для фильтрации по состоянию работоспособности, имени сайта или его URL-адресу. Это упрощает и ускоряет поиск на панели.
Документация по администрированию Geo(https://docs.gitlab.com/ee/administration/geo/) и оригинальный тикет.
В каждом релизе мы делаем значительные шаги по повышению общей эффективности и полезности нашего продукта. У нас также есть Галерея UI Polish для отслеживания важных обновлений наших интерфейсов. Эти обновления, хоть часто и небольшие, заметно улучшают удобство использования.
В GitLab 14.8 мы поработали над тикетами, проектами, майлстоунами и многим другим. Мы особо выделяем следующие изменения в GitLab 14.8:
Посмотрите все улучшения удобства использования в GitLab 14.8.
Это — лишь несколько основных из более 25 улучшений этого релиза. Читайте далее, и вы узнаете всё об этих классных обновлениях. Чтобы узнать, что выйдет в следующем месяце, зайдите на страницу предстоящих релизов и посмотрите видео по релизу 14.9.
Приглашаем на наши встречи.
MVP этого месяца — Piotr Stankowski
Начиная с релиза 14.5 Piotr тесно работал как с продуктовой, так и с UX-частью GitLab для разработки решения, позволяющего создавать настраиваемые шаблоны сообщений для мерж-коммитов. В 14.6 он добавил такие же шаблоны на основе переменных для squash-коммитов, значительно повысив удобство работы для команд с различными предпочтениями в отношении таких коммитов.
В GitLab 14.8 он продолжил развивать шаблоны коммит-сообщений. Piotr по-прежнему является замечательным партнёром для команд продукта GitLab, его дизайна, документации и сообщества GitLab в целом. Он добавил замечательное улучшение UX — отображение значения по умолчанию для шаблонов. Теперь пользователи будут лучше понимать текущие настройки шаблонов и то, как их можно изменить.
Piotr также внёс вклад в улучшение документации API мерж-реквестов и добавил в наш REST API новое поле, которое позволяет унифицировать его с GraphQL. Спасибо, Piotr!
Основные фичи релиза GitLab 14.8
Поддержка SSH ключей ecdsa-sk и ed25519-sk
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Версия OpenSSH 8.2 добавляет поддержку аппаратных аутентификаторов FIDO/U2F с новыми типами ключей ecdsa-sk и ed25519-sk. GitLab теперь поддерживает эти типы ключей, позволяя пользователям воспользоваться преимуществами аппаратной аутентификации с SSH.
Документация по работе с аппаратными ключами и оригинальный тикет.
События аудита для действий администратора от имени пользователя
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
GitLab теперь предоставляет события для начала и завершения работы администратора от имени пользователя на странице событий аудита группы. Ранее эти события отображались только на странице, недоступной для клиентов GitLab SaaS. Мы рады перенести эту информацию на страницу группы, что позволит просматривать эти события как пользователям отдельных инстансов, так и SaaS-пользователям.
Эти события помогут понять, запускал ли администратор работу от имени пользователя в вашей группе, и какие действия выполнял в качестве этого пользователя. Вы сможете сопоставить:
- Все действия пользователя
- Когда администратор работал от имени пользователя
Это поможет вам понять, действительно ли пользователь выполнял определённые действия, или же их выполнял администратор от его лица. Отсутствие таких событий в журнале аудита также позволяет убедиться в том, что пользователь действительно совершал указанные действия, а не кто-то другой выполнял их под его аккаунтом.
Документация по групповым событиям аудита и оригинальный тикет.
Дополнительные параметры отображения дорожных карт
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
В этом релизе мы добавили в дорожные карты (в русской локализации GitLab «планы развития») дополнительные возможности отслеживания прогресса. Теперь вы можете узнать процент завершённых эпиков (в русской локализации GitLab «цели») на основе количества тикетов (в русской локализации GitLab «обсуждения»), а не на основе их веса. Эта возможность будет полезна для организаций, использующих Kanban или другие методы, которые не требуют, чтобы команды устанавливали вес тикетов.
Вы также можете настроить уровень майлстоунов (в русской локализации GitLab «этапы»), которые будут включены в вашу дорожную карту, что позволит вам адаптировать её представление в соответствии с потребностями вашей аудитории.
Документация по настройкам дорожных карт и оригинальный тикет.
Новый механизм правил подтверждения безопасности
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Protect
В GitLab появились гибкие подтверждения безопасности в качестве замены устаревшей фичи проверки уязвимостей Vulnerability-Check. Новый механизм правил похож на Vulnerability-Check в том, что обе эти фичи могут требовать подтверждения мерж-реквестов (в русской локализации GitLab «запросы на слияние»), содержащих уязвимости в безопасности. Однако новый вариант улучшает предыдущую версию в нескольких отношениях:
- Пользователи могут выбирать, кому разрешено редактировать правила подтверждения безопасности. Таким образом, независимая команда по безопасности или команда, отвечающая за соответствие требованиям, может управлять этими правилами, не позволяя их менять сопровождающим проект разработчикам.
- Можно создавать и объединять несколько правил, чтобы обеспечить фильтрацию по различным порогам серьёзности для каждого типа сканера.
- Может быть введён двухэтапный процесс согласования для любых желаемых изменений в правилах подтверждения безопасности.
- Единый набор правил безопасности может быть применён к нескольким проектам разработки, что позволяет легко поддерживать единый централизованный набор правил.
Правила подтверждения безопасности можно использовать вместе с существующей фичей проверки уязвимостей Vulnerability-Check, поскольку эти два способа являются добавочными и не конфликтуют. Однако мы рекомендуем пользователям перенести свои правила проверки уязвимостей на новый механизм. Фича Vulnerability-Check теперь считается устаревшей, и в GitLab 15.0 мы планируем её удалить. Пользователям самостоятельных инстансов GitLab необходимо включить переключаемую фичу scan_result_policy для использования нового механизма правил. Чтобы начать работу с ними, перейдите в Безопасность и комплаенс > Политики (Security & Compliance > Policies) и создайте новое правило типа Scan Result.
Документация по новому механизму правил подтверждения безопасности и оригинальный эпик.
Автодополнение ключевых слов в редакторе конвейеров
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Написать корректный CI/CD-конвейер в GitLab может быть сложно, независимо от того, новичок вы в этом деле или опытный пользователь. Синтаксическая структура должна быть точной, и даже небольшая опечатка или неправильный параметр конфигурации могут привести к тому, что ваш конвейер окажется неработоспособным, что приведёт к дополнительным затратам на поиск причины этого. В релизе 14.8 мы добавили автодополнение для ключевых слов CI/CD в редактор конвейеров, что значительно повысит эффективность написания и отладки конвейеров. Теперь у вас будет больше уверенности, что ваш конвейер будет работать так, как вы хотели, с первого же запуска.
Документация по подтверждению CI/CD конфигурации и оригинальный эпик.
Другие улучшения в GitLab 14.8
Дополнительные данные на графике частоты развёртываний
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе мы добавили количество развёртываний и частоту развёртываний в метрики DORA, отображаемые в разделе Аналитика CI/CD:
- Количество развёртываний показывает количество успешных развёртываний в выбранном диапазоне дат.
- Частота развёртываний показывает среднее количество успешных развёртываний.
Эти данные ранее отображались только в аналитике цикла разработки (Value Stream Analytics, VSA). С помощью этой информации вы сможете лучше отслеживать частоту развёртываний в вашей команде.
Документация по графикам частоты развёртываний и оригинальный тикет.
Отображение среднего и медианного значений для графиков метрик DORA4
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе мы добавили возможность просмотра средней частоты развёртываний и медианного времени выполнения в метриках DORA4. Теперь вы можете непрерывно отслеживать ваш DevOps-процесс и определять, насколько ваши реальные показатели отличаются от среднего или медианного темпа.
Документация по метрикам DORA4 и оригинальный тикет.
Улучшенная очистка файла gitconfig
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create
Gitaly обрабатывает файлы .gitconfig, которые могут стать очень большими, если их не обслуживать. Большие файлы .gitconfig могут сильно повлиять на производительность непродолжительных команд Git. В GitLab 14.8:
- Решена известная проблема, когда мы очищали некоторые ключи конфигурации не так, как ожидалось.
- Удаляются пустые секции конфигурации.
В совокупности эти обновления повысили производительность на 50% и более для этих непродолжительных команд Git, что привело к существенному снижению затрат времени при выполнении регулярных операций Git!
Документация по Gitaly и оригинальный тикет.
Улучшенная структура страницы конвейеров
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
GitLab ценит эффективность, поэтому мы хотим упростить навигацию по нашей платформе, особенно по страницам заданий и конвейеров. Возможно, вы заметили, что слишком большое число опций и столбцов на этих страницах усложняет поиск информации GitLab CI/CD, релевантной для вашего проекта.
Мы изменили структуру этих страниц, чтобы вам было проще находить нужную информацию о конвейерах, включая статус, имя конвейера, ID мерж-реквеста и SHA коммита.
Документация по странице конвейеров и оригинальный тикет.
Просмотр информации об обработчиках заданий на панели администратора
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Теперь вы можете просматривать информацию об обработчиках заданий (GitLab Runner) на панели администратора. Там вы увидите самую важную информацию о каждом обработчике заданий, связанном с вашим инстансом: последнее соединение, версию и назначенные проекты, которые теперь разбиты по страницам. На вкладке с заданиями вы также сможете посмотреть полный список заданий, запущенных данным обработчиком. Это поможет вам быстро находить и анализировать выполненные задания CI/CD.
Документация по управлению обработчиками заданий и оригинальный тикет.
Настройка встроенных правил SAST и обнаружения секретных ключей
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Теперь вы можете настраивать предопределённые правила статического сканирования безопасности (SAST) и поиска секретных ключей. Для каждого правила вы можете изменить его название, сообщение, описание и степень серьёзности уязвимостей, чтобы ваша команда DevSecOps знала, какие уязвимости нужно устранить в первую очередь.
Это дополнение к уже существующим возможностям настройки, которые позволяют вам отключать, заменять или дополнять предопределённые правила. Ваши настройки отображаются в файле gl-sast-report.json и артефактах gl-secret-detection-report.json для всех планов GitLab.
С GitLab Ultimate ваши настройки также используются в правилах подтверждения мерж-реквестов и в отчёте об уязвимостях.
Документация по сканированиям SAST и оригинальный тикет.
Страница сканирований по требованию
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure
Теперь все сканирования по требованию DAST и DAST API можно найти на одной странице. На ней отображаются ваши текущие, ранее запущенные, сохранённые и запланированные сканирования. На этой странице вы также можете найти нужные сканирования через поиск или перезапустить завершённые. В предыдущих версиях GitLab, чтобы посмотреть текущие или завершённые сканирования по требованию, вам нужно было сначала найти нужный конвейер на странице конвейеров. Сохранённые сканирования по требованию располагались в разделе настроек Безопасность и комплаенс (Security & Compliance). Чтобы найти нужное запланированное сканирование, вам нужно было посмотреть на каждое сохранённое сканирование в отдельности, чтобы узнать его расписание. Всё это теперь доступно на одной странице, что упрощает запуск сканирований по требованию вне сборок CI/CD, мерж-реквестов или конвейеров.
Документация по сканированиям DAST по требованию и оригинальный эпик.
Обновления cтатического сканирования безопасности GitLab
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Статическое сканирование безопасности GitLab состоит из множества анализаторов безопасности, которыми команда статического анализа GitLab активно управляет, а также поддерживает и обновляет их. Ниже приведены обновления анализатора, выпущенные в релизе GitLab 14.8. Эти обновления включают дополнительное покрытие кода, исправления ошибок и другие улучшения.
- Анализатор Bandit обновлён до версии 1.7.2. Список изменений, в том числе:
- Новые правила для настройки SNMP
- Исправленные CVE в Alpine Linux
- Анализатор ESLint обновлён до версии 6.2.0 eslint-plugin-html и версии 7.28.0 eslint-plugin-react. Список изменений. Добавлено, исправлено и обновлено несколько правил.
- Анализатор MobSF обновлён до версии 3.4.6. Список изменений, в том числе:
- Снижена строгость выполнения некоторых правил
- Добавлены новые правила для настроек шифрования в Android и вызовов API
- Анализатор Gosec обновлён до версии 2.9.6. Список изменений. Исправлены ложноположительные результаты в некоторых случаях.
- Анализатор Semgrep обновлён до версии 0.82.0. Список изменений, в том числе:
- Улучшена производительность
- Упрощённое объявление переменных: x = foo.bar(); x.baz() соответствует foo.bar().baz()
- Исправлено несколько ошибок
- Анализатор Kics обновлён до версии 1.5.1. Список изменений, в том числе:
- Добавлено и обновлено несколько правил, исправлены ошибки
- Отключены сетевые запросы для отправки отчётов о сбоях и получения исправленных описаний правил
- Анализатор Kubesec обновлён до версии 2.11.4. Список изменений.
- Анализатор NodeJS обновлён до версии 0.3.1. Список изменений, в том числе:
- Обновлены зависимости
- Исправлены и обновлены правила
- Анализатор секретных ключей обновлён для исправления ошибок и правил. Список изменений.
- Анализатор PMD Apex обновлён до версии 6.42.0. Список изменений. Добавлено новое правило.
- Обновлены зависимости анализатора SpotBugs. Список изменений.
Мы также обновили версию Go, используемую в анализаторах для исправления проблем с безопасностью в Go.
Если вы используете шаблон SAST под управлением GitLab (SAST.gitlab-ci.yml), вам ничего не нужно делать, чтобы получить эти обновления. Однако, если вы переопределяете этот файл или используете свой шаблон CI/CD, для получения обновлений вам нужно будет обновить настройки CI/CD. Чтобы использовать определённую версию любого анализатора, вы можете сделать привязку к минорной версии анализатора. Это предотвратит автоматическое обновление анализатора и потребует ручного обновления версии анализатора в вашем шаблоне CI/CD.
Документация по анализаторам SAST и список анализаторов.
Метка Latest для релизов на странице проекта
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Release
Мы добавили новую метку, чтобы вам было проще увидеть версию вашего последнего релиза на странице проекта. Спасибо Jason D’Amour за эту фичу!
Документация по настройкам конвейера и оригинальный тикет.
Сервер агента Kubernetes включён по умолчанию
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure
Первый шаг при использовании агента Kubernetes в инстансах с самостоятельным управлением — это включение сервера агента, бэкенд-сервиса для агента Kubernetes. В GitLab 14.7 и более ранних версиях мы требовали, чтобы администратор GitLab включал его вручную. Так как эта фича выросла за последние несколько месяцев, мы сделали сервер агента включённым по умолчанию, чтобы упростить настройку для администраторов GitLab. Помимо этого сервер агента принимает несколько параметров, которые позволяют настроить его под ваши нужды.
Documentation Issue
Документация по серверу агента Kubernetes и оригинальный тикет.
Приглашайте участников и групп через модальное окно
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Масштабирование
Приглашать участников и группы в проекты теперь можно в модальном окне. Вам больше не нужно проходить эти шаги в форме — теперь будет проще добавлять участников или группы из любого места в GitLab.
Документация по добавлению пользователей в проекты и оригинальный тикет.
Удаление групп на уровне родительской группы
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе мы работали над одним из первых шагов для достижения полного соответствия фич для владельцев групп (во всех установках GitLab) и фич для администраторов, которые есть только на панели администратора для пользователей инстансов с самостоятельным управлением.
Владельцы групп теперь могут удалять группу и её подгруппы на уровне родительской группы. До сих пор владельцам групп приходилось заходить в каждую отдельную группу, чтобы её удалить, а это долго и неэффективно. Владельцы групп теперь могут просматривать все группы и удалять их с одной страницы.
Документация по удалению групп и оригинальный тикет.
Добавляйте шаблоны для тикетов и мерж-реквестов в репозиторий проекта
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan
Теперь шаблоны по умолчанию для описаний тикетов и мерж-реквестов можно установить не только в настройках проекта, но и в директории .gitlab репозитория. Для этого создайте файл Default.md в директории шаблонов тикетов или мерж-реквестов. Если шаблоны по умолчанию есть и в настройках проекта, и в репозитории, то будет использоваться шаблон из настроек.
Спасибо за этот вклад, @davebarr!
Документация по шаблонам описаний для мерж-реквестов и тикетов и оригинальный тикет.
Используйте API CI Lint с другими ветками или тегами
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Ранее конечная точка API CI Lint проекта, используемая для проверки конфигурации CI/CD, могла вызываться только для конфигурации в ветке по умолчанию. В этом релизе мы добавили необязательный параметр ref для конечной точки, так что теперь вы можете проверять вашу конфигурацию CI/CD в других ветках или тегах.
Документация по проверке конфигурации проекта и оригинальный тикет.
Управление набором фаззинг-тестов по покрытию
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure
В предыдущих версиях GitLab если вы хотели использовать исходный набор в фаззинг-тестировании по покрытию, вам приходилось загружать файл в определённое место и указывать путь к набору с помощью переменной COVFUZZ_SEED_CORPUS. Управление любым набором, который вы могли бы использовать в тестировании, было полностью ручным, включая обновление набора после запуска теста. С GitLab 14.8 управление наборами теперь относится к настройкам в разделе Безопасность и комплаенс (Security & Compliance). Установите для параметра COVFUZZ_USE_REGISTRY значение "true", присвойте переменной COVFUZZ_GITLAB_TOKEN значение личного токена доступа, укажите имя набора с помощью переменной COVFUZZ_CORPUS_NAME — и вы легко интегрируете управление набором в ваш рабочий процесс тестирования.
Файлы набора могут автоматически добавляться в реестр из конвейеров по мере выполнения фаззинг-тестов по покрытию. Их также можно обновлять не только вручную, но и автоматически, с помощью артефактов, полученных из задания этого фаззинг-тестирования. Если набор больше не нужен, его можно удалить прямо со страницы реестра. Файлы набора, перечисленные в реестре, также можно загрузить для проверки или использования где-то ещё. Этот интерфейс управления повышает удобство фаззинг-тестирования по покрытию, когда используются исходные наборы.
Документация по фаззинг-тестированию по покрытию и реестру наборов и оригинальный эпик.
Взаимная аутентификация для сканирований DAST
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Secure
Начиная с версии GitLab 14.8 для DAST-сканирований стала доступна взаимная аутентификация через TLS. Это позволяет целевому серверу приложений проверять, что запросы поступают из известного источника. Сайты, использующие взаимный TLS, теперь можно сканировать с помощью DAST. Чтобы использовать взаимный TLS, необходимо создать замаскированную переменную с именем DAST_PKCS12_CERTIFICATE_BASE64 и сохранить в этой переменной значение сертификата PKCS12 в кодировке base64. Кроме того, для хранения пароля сертификата PKCS12 следует использовать замаскированную переменную с именем DAST_PKCS12_PASSWORD. Обратите внимание, что эта фича ещё не поддерживается основанным на браузере сканером DAST, который все ещё находится в стадии бета-тестирования.
Документация по использованию взаимного TLS в сканировании DAST и оригинальный тикет.
Уровни серьёзности SAST теперь доступны для .NET
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Ранее GitLab SAST возвращал степень серьёзности «Неизвестно» (Unknown) для всех уязвимостей, выявленных в проектах .NET. Теперь результатам .NET присваивается значение серьёзности на основе информации из списка CWE, полученной по этой уязвимости.
Уровни серьёзности включены в артефакт gl-sast-report.json для всех тарифных планов GitLab. В GitLab Ultimate эти новые уровни серьёзности упрощают защиту ваших .NET-проектов за счёт требования утверждения мерж-реквестов и анализа общей степени риска.
Для обратной совместимости уровень серьёзности по умолчанию не будет отображаться по умолчанию, пока вы не обновитесь до GitLab 15.0. Чтобы раньше получить результаты .NET SAST со значениями серьёзности, обновите файл .gitlab-ci.yml, чтобы сделать привязку к последней мажорной версии, версии 3 анализатора Security Code Scan. Вы можете добавить этот сниппет в свой файл .gitlab-ci.yml, чтобы попробовать эти новые возможности сканирования. В GitLab 15.0 эта версия будет использоваться по умолчанию.
Документация по серьёзности уязвимостей и оригинальный тикет.
API подтверждения развёртываний
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Release
Мы рады представить подтверждение развёртывания через API. До появления этой фичи команды могли защитить окружение от любых изменений, требуя ручного запуска задания на конвейере. Теперь подтверждение развёртывания является первостепенной концепцией для нашей платформы. Команды могут настроить несколько подтверждающих для конкретного окружения и использовать новую конечную точку API для подтверждения или отклонения развёртывания в нём. Эта возможность позволяет командам создавать рабочие процессы для получения надлежащих подтверждений перед развёртыванием программного обеспечения в продакшен или другое защищённое окружение.
Документация по подтверждениям развёртываний и оригинальный тикет.
Установите пользовательское ограничение скорости для GitLab Pages
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Release
Мы добавили возможности ограничения скорости для нашей фичи Страницы GitLab (GitLab Pages). Неограниченный или нежелательный трафик (например, атака типа «отказ в обслуживании») на размещённые страницы может вызвать непредвиденные проблемы с доступностью и даже простои для пользователей. С этим обновлением можно ограничивать скорость для определённых IP-адресов клиентов и для определённого домена размещённых страниц. Эти лимиты можно настроить отдельно. Если трафик превышает установленные ограничения, запросы будут зарегистрированы и отклонены.
Документация по настройке ограничений скорости и оригинальный эпик.
Добавили фильтры на панель сайтов Geo
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Доступность
Панель инструментов для сайтов Geo позволяет администраторам просматривать и редактировать сведения о своих первичных и вторичных сайтах Geo. Клиентам, работающим с несколькими вторичными сайтами, может потребоваться время, чтобы просмотреть список сайтов и определить те, которые требуют внимания. Мы добавили параметры для фильтрации по состоянию работоспособности, имени сайта или его URL-адресу. Это упрощает и ускоряет поиск на панели.
Документация по администрированию Geo(https://docs.gitlab.com/ee/administration/geo/) и оригинальный тикет.
Улучшения удобства использования
В каждом релизе мы делаем значительные шаги по повышению общей эффективности и полезности нашего продукта. У нас также есть Галерея UI Polish для отслеживания важных обновлений наших интерфейсов. Эти обновления, хоть часто и небольшие, заметно улучшают удобство использования.
В GitLab 14.8 мы поработали над тикетами, проектами, майлстоунами и многим другим. Мы особо выделяем следующие изменения в GitLab 14.8:
- По умолчанию реестр пакетов теперь сортируется по времени публикации.
- При попытке включить общий обработчик заданий по клику теперь вызывается предупреждение о необходимости кредитной карты.
- Добавили руководство для пользователей, не имеющих разрешения на выполнение ручных заданий на конвейере.
- Улучшили отображение прогресса на кнопках для ревью мерж-реквестов.
- Выровняли кнопки раскрытия диффа в футере.
- Заблокированные пользователи теперь показываются в разделе Администратор > Просмотр списка пользователей (Admin > Users list view).
- Исправили порядок месяцев на графике минут CI/CD.
- Улучшили пользовательский интерфейс подписки на конвейер.
- Сделали сообщение об ошибке запуска конвейера более понятным.
- Улучшили сообщение в виджете мерж-реквеста о том, что конвейер завершился неуспешно или был отменён.
Посмотрите все улучшения удобства использования в GitLab 14.8.
Вышел релиз GitLab 14.8 с новыми типами ключей SSH и механизмом правил по безопасности
Мы рады сообщить о выходе релиза GitLab 14.8 с новыми типами ключей SSH , новым механизмом правил для подтверждения безопасности , автодополнением в редакторе конвейеров (в русской локализации GitLab...
habr.com