Благодаря Static Application Security Testing (SAST) GitLab сканирует код и помогает обнаружить потенциальные уязвимости еще в конвейере. В релизе 11.8 мы добавляем в список поддерживаемых SAST языков JavaScript, на основе существующей поддержки node.js. Теперь можно просканировать любые файлы JavaScript, статические скрипты и HTML. Важной практикой в DevSecOps сейчас является сканирование изменений при каждом коммите, и с этим обновлением SAST мы покрываем один из самых популярных веб-языков, помогая пользователям раньше обнаруживать риски в коде на JavaScript.
GitLab Pages в этом релизе стал намного лучше, благодаря следующим двум улучшениям. Во-первых, мы добавили поддержку GitLab Pages для проектов в подгруппах: теперь такие проекты смогут легко публиковать свой контент в сеть. Во-вторых, GitLab 11.8 теперь включает самые популярные шаблоны для Pages, так что теперь начать работу с Pages можно одним щелчком мыши.
Ошибки дают возможность оценить состояние вашего приложения и могут обнаружить проблемы до того, как о них сообщат пользователи. GitLab 11.8 теперь может показывать недавние ошибки в рамках проекта, упрощая их обнаружение и исправление.
В этом релизе так много хороших нововведений, что мы хотим осветить еще несколько:
Правила подтверждения мерж-реквестов (в русской локализации GitLab «запросов на слияние»). Теперь можно легко задать правило, кто будет подтверждать изменения — конкретные пользователи, группа или роль. Скоро эта фича появится на GitLab.com, а в пользовательских инстансах GitLab уже может быть подключена администратором.
Подключаемые фичи для окружений. Ранее подключаемые фичи действовали для всех ваших окружений сразу, теперь же их можно использовать в рамках конкретных окружений. Эта функциональность уже работает на GitLab.com, и может быть подключена администратором для пользовательских инстансов.
Улучшили объединение сообщений к коммитам при их объединении (squash). Если вы стараетесь создавать хорошие сообщения к коммитам, бывает жаль терять их при объединении коммитов. В релизе 11.8 при объединении коммитов из всех коммитов автоматически берется первое многострочное сообщение. И вы также можете задать сообщение вручную.
Walkafwalka добавил две новых фичи для Auto DevOps в этом релизе: поддержку пользовательских доменов и повторное развертывание при обновлении ключей-секретов приложения. Спасибо за эти великолепные улучшения!
(ULTIMATE, GOLD)
Static Application Security Testing (SAST) позволяет находить уязвимости в коде каждый раз, когда вы отправляете изменения в репозиторий. С этой информацией, доступной в мерж-реквесте, вы сможете позаботиться о безопасности в первую очередь и обнаруживать проблемы даже до того, как они будут добавлены в стабильную ветку.
С релизом 11.8 мы добавляем JavaScript в список языков, поддерживаемых SAST. Вам не придется ничего менять в своих конвейерах, JavaScript-проекты автоматически определяются и анализируются на уязвимости в безопасности. Также это часть Auto DevOps.
Документация по SAST и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Отслеживание ошибок, которые генерирует ваше приложение, помогает создавать и поддерживать качественный пользовательский опыт и обнаруживать проблемы до того, как пользователи их заметят. И заодно ускоряет решение возникающих проблем.
GitLab 11.8 делает отслеживание ошибок более понятным и эффективным, интегрируя популярный трекер с открытым исходным кодом Sentry и отображая последние ошибки прямо в вашем проекте GitLab.
Sentry недавно улучшил свою интеграцию с GitLab, добавив обнаружение проблемных коммитов, слежение за коммитами и релизами и не только. Благодаря взаимной интеграции, вы можете легко работать в Sentry через GitLab и наоборот, и решать проблемы в рамках своего контекста в своем рабочем процессе.
Документация по отслеживанию ошибок и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
GitLab 11.8 теперь включает в себя самые популярные шаблоны для Pages, так что теперь вы можете создавать страницы сразу при создании нового проекта, а не наследуя репозиторий шаблонов, как ранее.
Посмотрите пост в нашем блоге, посвященный использованию шаблонов GitLab Pages.
Документация по GitLab Pages и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Также теперь вы можете создавать сайты с помощью Pages для проектов в подгруппах. Сайты, созданные этим способом, будут иметь URL формата toplevel-group.gitlab.io/subgroup/project
. Теперь для всех ваших проектов, даже тех, что принадлежат подгруппам, вы сможете создать документацию или другие страницы, необходимые для релиза вашего ПО.
Документация по администрированию GitLab Pages и оригинальный тикет.
(PREMIUM, ULTIMATE, SILVER, GOLD)
Код-ревью — основополагающая практика любого успешного проекта, но не всегда ясно, кто именно должен проводить ревью изменений. Часто есть необходимость в нескольких ревьюверах, отвечающих за разные аспекты — например, за разработку, безопасность, удобство использования и сам продукт.
В релизе GitLab 11.8 мы представляем правила для подтверждения мерж-реквестов, что дает возможность определить необходимых подтверждающих и минимальное количество подтверждений. Правила подтверждения показываются в виджете мерж-реквеста, так что следующего ревьювера назначить очень легко.
В GitLab 11.3 мы ввели роль владельцев кода (оригинальная статья, перевод) для определения того, кто несет ответственность за разные части кода. Владельцы кода уже учитываются в правилах подтверждения, так что найти нужных людей для ревью изменений будет просто.
По умолчанию правила подтверждения отключены, подключить их может администратор инстанса командой Feature.enable(:approval_rules)
в консоли rails. На GitLab.com правила подтверждения временно отключены, мы планируем снова их подключить с релизом GitLab 11.8.1. Следите за этим тикетом для обновлений.
Документация по правилам подтверждения мерж-реквестов и оригинальный тикет.
(PREMIUM, ULTIMATE, SILVER, GOLD)
В релизе GitLab 9.3 (оригинальная статья, перевод) была добавлена возможность создавать межпроектные конвейеры, запустив следующий конвейер вызовом через GitLab API в вашей работе. В релизе 11.8 мы улучшаем запуск этих конвейеров благодаря ключевому слову trigger:
, которое может быть добавлено в объединяющую конвейеры работу и обеспечит автоматический запуск следующего конвейера, когда текущий конвейер успешно завершится.
Документация по ключевому слову trigger и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Когда история состоит из маленьких коммитов для исправления юнит-тестов или решения проблем из фидбека, сложно создавать читаемую и полезную в будущем Git-историю. Объединение коммитов собирает такие изменения в один коммит, вместе с тем убирая все описания.
GitLab теперь ставит первое многострочное сообщение в ветке данной фичи как сообщение объединенного коммита. Или же вы можете задать это сообщение вручную и самостоятельно отразить все важные изменения.
Документация по объединенным коммитам и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Auto DevOps позволяет вам быстро начать работу над проектом при указании ему «базового домена» проекта. Когда ваше приложение готово к развертыванию на продакшн, вы возможно захотите использовать другой домен в виде FQDN.
Теперь вы можете использовать переменную окружения ADDITIONAL_HOSTS
для того, чтобы определить один или несколько доменов для вашего приложения. Более того, вы можете настроить ее для определенного окружения, добавив к переменной имя окружения, например: <ENVIRONMENT>_ADDITIONAL_HOSTS
.
Спасибо Aaron Walker за эту фичу!
Документация по переменным окружения и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
При развертывании функций при помощи бессерверной архитектуры через GitLab вы можете пользоваться всеми преимуществами Knative, в том числе масштабированием ваших бессерверных развертываний.
Теперь для каждого приложения или функции, развернутой в вашем инстансе Knative, вы можете посмотреть шкалу ваших бессерверных развертываний. На шкале показано число подов Kubernetes, которые используются в настоящее время.
Документация по развертыванию функций и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Ранее в календарях в GitLab автоматически предполагалось, что неделя начинается в воскресенье. Теперь пользователи в настройках могут выбрать первым днем недели понедельник, что будет отражено при использовании календарей для выбора дат и на графиках вкладов в разработку.
Спасибо Fabian Schneider за эту фичу!
Документация по пользовательским настройкам и оригинальный тикет.
(ULTIMATE, GOLD)
Когда вы впервые загружаете дорожную карту, GitLab предварительно выбирает для вас временной период с возможностью выбирать недельные, месячные или квартальные интервалы. Однако ранее вид дорожной карты оставался зафиксированным, и эпики за пределами текущего периода были скрыты.
Начиная с этого релиза, вы сможете прокручивать дорожную карту вперед в будущее и назад в прошлое. Эпики, которые попадают в эти расширенные интервалы, будут автоматически появляться на графике, не нужно дополнительно обновлять страницу. Это позволит вам просматривать еще больше эпиков на таком временном интервале, который вам необходим.
Документация по дорожным картам и оригинальный тикет.
(PREMIUM, ULTIMATE, SILVER, GOLD)
Организации, использующие смарт-карты как токены авторизации, зачастую используют протокол LDAP для централизованного управления учетными записями. В версии 11.6 появилась аутентификация при помощи смарт-карт. В 11.8 мы делаем еще одно дополнение к ней, добавляя поддержку использования данных со смарт-карт для аутентификации через LDAP-сервер.
В GitLab мы используем подход, соответствующий стандартам RFC4523, с использованием правила certificateExactMatch
.
Документация по аутентификации при помощи смарт-карт и оригинальный тикет.
(PREMIUM, ULTIMATE, SILVER, GOLD)
Начиная с этого релиза становится возможным самостоятельно переключать фичи в зависимости от окружения. Поведением ваших фич можно управлять при помощи набора правил, заданного на основе соответствия имени окружения. По умолчанию всегда работает правило (*
), однако вы также сможете задавать другие правила, добавляя новые спецификации окружения (например, review/*
).
В версии 11.8.0 для работы этой фичи потребуется включить её, выполнив в консоли rails команду Feature.enable(:feature_flags_environment_scope)
.
Документация по спецификациям окружения и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Если вы развертываете ваши приложения в последней версии Kubernetes, вы можете быть уверены, что у вас есть все новые фичи и ваша безопасность отвечает всем требованиям.
GitLab 11.8 позволяет вам обновлять GitLab Rinner в Kubernetes одним кликом. В будущих релизах мы добавим такую возможность и для остальных приложений.
Документация по установке приложений и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Администраторам необходимо при помощи простых действий получать информацию об активности пользователей. Чтобы помочь с выполнением этой задачи, мы добавили отображение даты создания пользователя и даты его последней активности в области Users на панели администратора (/admin/users
).
Здесь вы можете прочитать больше о действиях, которые GitLab распознает как активности.
Документация по API пользователей для администраторов и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
В GitLab есть атрибут пользователя last_activity_on
, который помогает администраторам проще определять, когда произошла последняя активность пользователя. Это очень удобно для поиска активных и неактивных пользователей.
Чтобы быть уверенными в том, что мы захватываем активности типа read-only, мы расширили атрибут last_activity_on так, чтобы он обновлялся при посещении страниц, относящихся к панелям активности, проектам, задачам и мерж-реквестам.
Документация по статистике в инстансе и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Теги проектов – это удобный способ организовывать связанные проекты, однако термин «тег» совпадает с тегами в GitLab. Для решения этой проблемы мы переименовали теги проектов в топики и улучшили их отображение на странице просмотра проекта.
Мы с радостью продолжим делать топики более полезными для поиска по проектам и собираемся добавить фильтрацию по топикам на панели активности в версии 11.9.
Документация по настройкам проекта и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Теперь вы можете искать теги репозитория в проекте через API тегов. Это позволит производить поиск конкретного тега в проекте напрямую. Если вы ищете проекты, соответствующие тегу конкретной версии, теперь вы с легкостью найдете то, что вам нужно.
Спасибо Robert Schilling за эту фичу!
Документация по тегам и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Мы учли обратную связь пользователей по первому улучшению списка проектов и увеличили плотность информации на этой странице, добавив еще один столбец и уменьшив количество пустых мест.
Документация по проектам и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
В версии 11.8 мы обновили внешний вид страницы просмотра группы так, чтобы на ней отображалось больше информации. Мы уменьшили количество пустых мест на этой странице и изменили дизайн так, чтобы он был согласован с новым внешним видом страницы просмотра проекта.
Это первый шаг в улучшении страницы просмотра группы, и мы с радостью продолжим над этим работать.
Документация по группам и оригинальный тикет.
(ULTIMATE, GOLD)
В предыдущем релизе мы добавили вложенные эпики, то есть возможность добавлять эпики к эпикам. Начиная с этого релиза, вы сможете управлять связями между этими эпиками в том числе и через API. Так что теперь вы можете управлять индивидуальными графиками рабочего процесса в вашей команде, в том числе используя возможности автоматизирования.
Документация по API для ссылок между эпиками и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Мы обновили секцию связанных мерж-реквестов в тикете, чтобы придать им визуальную согласованность со связанными тикетам и навести красоту.
В будущем релизе мы добавим больше метаданных для каждой строки в этом разделе, чтобы пользователи видели соответствующую информацию о мерж-реквесте сразу в контексте.
Документация по упоминанию тикетов в мерж-реквестах и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Указание базового домена для Auto DevOps позволяет вам использовать преимущества таких мощных функций, как автоматическое ревью (Auto-Review Apps) и автоматическое развертывание (Auto-Deploy). Теперь мы упростили указание базового домена, перенеся его непосредственно в настройки кластера. Это позволит легко определить базовый домен при создании кластера, а также определить разные домены для разных кластеров.
Документация по настройке базового домена для Auto DevOps и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Теперь вы можете управлять метками групп через API аналогично меткам проектов, что помогает в дальнейшем поддерживать настраиваемые рабочие процессы планирования и выполнения в ваших командах.
Спасибо Robert Schilling за эту фичу!
Документация по API для меток групп и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Файл /sub-page.html
на вашем сайте GitLab Pages теперь доступен и как /sub-page
, что дает вам больше вариантов, как как показать ваш сайт пользователям.
Документация по GitLab Pages и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
В конвейеры Pages были добавлены переменные CI_PAGES
и ` CI_PAGES_URL`, что дает вам возможность видеть доменное имя и URL страницы. Это обеспечивает большую гибкость при работе с сайтами Pages, размещенными в разных местах.
Документация по GitLab Pages и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Kubernetes предоставляет замечательную возможность отделить оборудование от того места, где выполняются наши разработки. Однако для выполнения некоторых задач требуется специализированное оборудование, включая работы, которые могут потребовать больше ресурсов, чем другие.
Kubernetes поддерживает это, добавляя taint и toleration к нодам, чтобы учесть эти соображения при планировании подов. Мы добавили встроенную поддержку taint и toleration в Kubernetes executor в GitLab Runner для поддержки этих типов рабочих процессов.
Документация по Kubernetes executor и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Gitaly теперь поддерживает TLS, что означает, что вся связь между GitLab и Gitaly будет зашифрована, когда TLS включен. Ранее связь между GitLab и Gitaly не была зашифрована сама по себе, а зависела от настроек безопасности сети.
Документация по поддержке TLS в Gitaly и оригинальный тикет
(STARTER, PREMIUM, ULTIMATE)
Раньше при использовании Elasticsearch не получалось обойтись без NFS для общения с Git в файловой системе. Начиная с этого релиза вы можете использовать Gitaly вместо NFS, что ускорит доступ к Git.
Документация по интеграции Elasticsearch и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Ревью больших мерж-реквестов — сложный процесс, особенно когда при этом приходится переходить от одного файла к другому. Новый способ определения файла на основе нечеткой логики (fuzzy file finder) обеспечивает безболезненный переход от одного файла к другому, так что вы можете быстро перемещаться по диффу с помощью клавиатуры.
Документация по навигации по диффу и оригинальный тикет.
(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)
Мерж-реквесты, которые подтверждены и готовы к слиянию, теперь можно легко обнаружить в списке мерж-реквестов. Количество требуемых и полученных подтверждений теперь отображается в списке мерж-реквестов.
Спасибо Andy Steele за эту фичу!
Документация по подтверждению мерж-реквестов и оригинальный тикет.
(ULTIMATE, GOLD)
В GitLab 11.3 появилась поддержка настройки оповещений (оригинальная статья, перевод), однако она была ограничена экземплярами Prometheus, развернутыми через интеграцию GitLab с Kubernetes.
С GitLab 11.8 настроенные вручную серверы Prometheus теперь могут также уведомлять GitLab об оповещениях, если добавить GitLab в качестве получателя для веб-хука в менеджере оповещений (alertmanager). После получения оповещения GitLab отправит электронное письмо maintainer’ам и владельцам проекта.
Документация по интеграции внешних инстансов Prometheus и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Многие организации создают контейнеры для каждого коммита, чтобы упростить проверку изменений кода, а также окончательное развертывание. Это может привести к большому количеству контейнерных тегов, которые нужны только в течение короткого периода времени.
GitLab 11.8 теперь позволяет конечным пользователям наводить порядок в своих реестрах контейнеров через наше API, удаляя теги по отдельности или группами, используя регулярные выражения.
Документация по удалению тегов в реестре контейнера и оригинальный тикет.
(ULTIMATE, GOLD)
Пользователи могут создавать новые тикеты для устранения уязвимостей безопасности при просмотре отчетов о безопасности в мерж-реквесте, страницы конвейера и панели безопасности. Эта информация содержит конфиденциальные данные, которые могут раскрывать детали, которые не должны раскрываться до того, как исправление станет доступно и выпущено.
Начиная с GitLab 11.8, тикеты, относящиеся к уязвимостям, по умолчанию помечаются как конфиденциальные (confidential), но пользователи могут отключить этот флаг, если раскрытие информации допустимо.
Документация по мерж-реквестам, связанным с безопасностью и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Когда вы настраиваете ключ-секрет приложения для Auto DevOps, используя синтаксис переменной K8S_SECRET_
, для вашего приложения будет создан соответствующий ключ-секрет Kubernetes.
Когда эти ключи-секреты приложения будут обновлены, Auto DevOps повторно развернет ваше приложение с обновленными ключами-секретами.
Спасибо Aaron Walker за эту фичу!
Документация по переменным Auto DevOps и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Страница бессерверных функций (Serverless) была улучшена и теперь группирует функции, развернутые в Knative, в зависимости от кластерной среды, в которой они развернуты.
Кроме того, описание функции теперь отображается вместе с кнопкам быстрого доступа для копирования конечной точки функции и для открытия конечной точки в новой вкладке.
Документация по развертыванию в бессерверном варианте и оригинальный тикет.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Менеджер сертификатов предоставляет простой способ добавить поддержку HTTPS для ваших приложений Auto DevOps. Этот релиз добавляет поддержку URL, длина которых превышает поддерживаемую Let’s Encrypt по умолчанию (64 символа), что обеспечивает большую гибкость для ваших приложений.
Документация по базовым доменам Auto DevOps и оригинальный тикет.
Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 11.8 released with SAST for JavaScript, Pages for subgroups, and Error Tracking.
Над переводом с английского работали @cattidourden, @maryartkey, @ainoneko и @rishavant.