Вышел релиз GitLab 11.11: несколько ответственных за мерж-реквест и улучшения для контейнеров

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

Вновь улучшаем совместную работу и оповещения

Одна из основных задач, на которых мы фокусируемся в GitLab — поиск новых возможностей для совместной работы на протяжении всего цикла DevOps. Мы рады объявить, что с этого релиза мы поддерживаем назначение нескольких ответственных за мерж-реквест (в русской локализации GitLab «запрос на слияние»). Над одним мерж-реквестом могут работать много людей, и наша новая фича предоставляет удобную среду для этого. Фича доступна с GitLab Starter и подтверждает наше кредо — каждый может внести свой вклад.

Радостная новость для тех, кто работает с DevOps, — теперь мы поддерживаем автоматические уведомления о развертывании через Slack и Mattermost. Благодаря этому вы сможете получать информацию о развертываниях практически моментально.

Сокращение издержек за счет поддержки контейнеров Docker под Windows и управления кластером Kubernetes вашего инстанса

Мы любим контейнеры! Контейнеры используют меньше ресурсов, чем обычные или виртуальные машины, при этом облегчая портирование вашего приложения. С релизом GitLab 11.11 мы добавляем поддержку Windows Container Executor для обработчиков заданий (runner) GitLab, что позволит использовать контейнеры Docker в Windows и расширит возможности управления конвейерами (в русской локализации GitLab «сборочные линии»).

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

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

И даже больше!

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

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

GitLab MVP badge

MVP этого месяца — Kia Mei Somabes

В этом релизе появилась возможность скачать из репозитория только необходимые папки, а не все содержимое. Это значительно облегчает скачивание только того, что вам нужно. Спасибо Kia Mei Somabes за этот вклад!

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

Windows Container Executor для обработчика заданий GitLab

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Verify”

В 11.11 мы добавили новый executor обработчику заданий GitLab для использования контейнеров Docker под Windows. Ранее для управления Docker в Windows в основном использовался консольный executor, а теперь вы сможете напрямую использовать контейнеры Docker в Windows почти так же, как в Linux. Таким образом, возможности управления контейнерами значительно расширились для пользователей платформ от Microsoft.

Также вместе с этим обновлением мы улучшаем поддержку PowerShell в GitLab CI/CD и добавляем новые вспомогательные образы для разных версий контейнеров в Windows. Обратите внимание, что ваши собственные обработчики заданий для Windows можно использовать на GitLab.com, но вы не сможете сделать их общими (shared).

Windows Container Executor for GitLab Runner

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

Кэширующий прокси для зависимостей в реестре контейнеров

(PREMIUM, ULTIMATE) Стадия цикла DevOps“Package”

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

Пока что эта фича доступна только для пользовательских инстансов GitLab c веб-сервером Puma (в экспериментальном режиме).

Caching Dependency Proxy for Container Registry

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

Назначение нескольких ответственных за мерж-реквест

(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Create”

Довольно часто программисты вместе работают над фичей в выделенной ветке и мерж-реквесте — например, в экстремальном программировании, где программисты всегда работают в парах, или при совместной работе бекэнд- и фронтэнд-разработчиков.

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

Multiple Assignees for Merge Requests

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

Настройка кластера Kubernetes вашего инстанса

(CORE, STARTER, PREMIUM, ULTIMATE) Стадия цикла DevOps“Configure”

С развитием модели безопасности и распределения ресурсов Kubernetes стало возможным обслуживать множество клиентов одним общим кластером.

В релизе 11.11 мы добавляем в пользовательские инстансы GitLab возможность настраивать доступный всем группам и проектам кластер инстанса для размещения развертываний. Интеграция GitLab с Kubernetes будет автоматически создавать необходимые проектам ресурсы для большей безопасности.

Instance-level Kubernetes cluster configuration

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

Уведомления о развертывании через Slack и Mattermost

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Release”

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

Deployment notifications for Slack and Mattermost

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

Гостевой доступ к Релизам

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Release”

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

Guest access to Releases

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

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

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

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Create”

Многие распространенные операции Git требуют обхода графа коммитов — например, вычисление общих предков мержей или выведение списка ветвей, которые содержат коммит. Эти операции выполняются медленнее с ростом числа коммитов, так как при обходе графа каждый объект загружается с диска для считывания его указателей.

В GitLab 11.11 мы добавили фичу «сериализуемые графы коммитов», которая была представлена в недавних релизах Git, и используется для того, чтобы вычислять эту информацию заранее и хранить ее, что значительно повышает скорость обходов для больших репозиториев. Граф коммитов будет автоматически генерироваться при следующем запуске сборщика мусора в вашем репозитории.

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

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

Поддержка аутентификации через OpenID Connect

(FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Manage”

OpenID Connect — простой слой идентификации, основанный на OAuth 2.0. Благодаря вкладу сообщества, GitLab теперь поддерживает аутентификацию через OpenID Connect.

Спасибо Horatiu Eugen Vlad за эту фичу!

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

Добавочные минуты обработчика заданий CI теперь и в плане Free

(FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Manage”

В прошлом месяце мы добавили возможность приобретать добавочные минуты CI, но только для платных планов на GitLab.com. В этом релизе мы расширили эту фичу до плана Free.

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

Скачивание архивов папок из репозитория

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Create”

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

Спасибо Kia Mei Somabes за эту фичу!

Download archives of directories within a repository

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

Автоматическое закрытие обсуждений при принятии предложения

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Create”

Использование фичи «предлагаемые изменения» упрощает совместную работу над мерж-реквестами, избавляя от необходимости делать копирование и вставку для принятия предлагаемого изменения. В GitLab 11.11 это становится еще проще. Теперь при принятии предлагаемого изменения обсуждение будет автоматически помечено как закрытое.

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

Отслеживание времени на боковой панели доски задач

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Plan”

Боковые панели тикетов должны выглядеть одинаково при просмотре доски задач и при просмотре конкретного тикета. Для лучшего соответствия GitLab добавляет на боковую панель задач при просмотре доски задач (в русской локализации GitLab «доска обсуждений») отслеживание времени. Просто перейдите на доску задач, кликните по тикету, чтобы выдвинуть боковую панель, и вы получите информацию по отслеживанию времени.

View time tracking in sidebar of board view

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

Больше деталей для связанных мерж-реквестов

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Plan”

При просмотре тикета может быть полезно просмотреть другие связанные тикеты, эпики (в русской локализации GitLab «цели») и мерж-реквесты для того, чтобы как можно лучше представлять контекст. В GitLab 11.11 мы добавили больше элементов в таблицу связанных мерж-реквестов, включая статус, путь, ID, название, статус конвейера и назначенных людей.

More details for related merge requests

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

Проверка на неравенство для правил конвейера

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Verify”

Теперь вы сможете проверять значения переменных окружения на неравенство или на несовпадение с шаблоном (!= и !~) в вашем .gitlab-ci.yml, что обеспечит большую гибкость в управлении поведением вашего конвейера.

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

Доступ к информации о развертывании через API окружений

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Release”

Мы добавили возможность запрашивать информацию по определенному окружению через API окружений, что позволит проще получать ответ на вопрос «Какой коммит в данный момент развертывается в моем окружении?». Это сделает автоматизацию и отчетность проще для тех, кто пользуется окружениями GitLab.

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

Создание файла напрямую из переменной окружения

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Release”

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

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

Запуск всех заданий с ручным управлением для этапа одним кликом

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Verify”

Начиная с GitLab 11.11 пользователи, которые используют этапы (stages) с большим числом заданий с ручным управлением, смогут легко запускать все задания в данном этапе при помощи кнопки Play all, расположенной справа от названия этапа при просмотре конвейера.

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

Добавили возможность полного динамического сканирования для DAST

(ULTIMATE, GOLD) Стадия цикла DevOps“Secure”

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

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

Конечная точка API для информации об уязвимостях

(ULTIMATE, GOLD) Стадия цикла DevOps“Secure”

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

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

Сведения об отклоненных уязвимостях на панели безопасности

(ULTIMATE, GOLD) Стадия цикла DevOps“Secure”

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

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

Установка Prometheus на групповые кластеры

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Monitor”

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

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

Тикеты из оповещений теперь открываются от имени пользователя GitLab Alert Bot

(PREMIUM, ULTIMATE, SILVER, GOLD) Стадия цикла DevOps“Monitor”

Issues that are opened from alerts will now be authored by the GitLab Alert Bot, providing clear indication that the incident was created automatically from an important alert.

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

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

Создание пользовательских диаграмм метрик на панели мониторинга

(PREMIUM, ULTIMATE, SILVER, GOLD) Стадия цикла DevOps“Monitor”

Создавайте новые диаграммы для пользовательских метрик производительности с помощью инструментов прямо на панели мониторинга метрик. Теперь пользователи могут создавать, обновлять и удалять визуализации метрик в панели мониторинга, нажав кнопку Add Metric (Добавить метрику) в правом верхнем углу панели инструментов.

Create custom metric charts from the dashboard view

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

Поддержка зеркалирования для Git LFS

(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Create”

Зеркалирование (pull mirroring) репозитория позволяет реплицировать репозитории Git из одного места в другое. Это позволяет легко сохранить реплику репозитория, размещенного в другом месте, на ваш сервер GitLab. GitLab теперь поддерживает зеркалирование репозиториев, использующих Git LFS, чтобы вы могли копировать репозитории с большими файлами, такими как текстуры для разработки игр или научные наборы данных.

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

Автоматическое сохранение описаний эпиков в локальное хранилище

(ULTIMATE, GOLD) Стадия цикла DevOps“Plan”

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

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

Добавили базовую поддержку запросов GraphQL для группы

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Plan”

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

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

Ограничили области чтения-записи репозитория для личных токенов доступа

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Manage”

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

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

Спасибо Horatiu Eugen Vlad за эту фичу!

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

SAML SSO теперь можно сделать обязательным при доступе через веб

(PREMIUM, ULTIMATE, SILVER, GOLD) Стадия цикла DevOps“Manage”

В качестве развития фичи «обеспечение SSO на уровне группы», выпущенной в 11.8, мы добавляем постоянную проверку ресурсов группы и проекта, разрешая доступ только в том случае, если пользователь вошел через SAML. Это обеспечивает дополнительный уровень контроля доступа для организаций, ценящих безопасность, и использующих SAML SSO на GitLab.com. Теперь вы можете обеспечить обязательность использования SSO, если знаете, что пользователи вашей группы его используют.

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

Вход через учетную запись Salesforce

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Manage”

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

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

Вход с помощью биометрической аутентификации UltraAuth

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Стадия цикла DevOps“Manage”

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

Спасибо Kartikey Tanna за эту фичу!

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

Фильтры по дате создания и изменения в API эпиков

(ULTIMATE, GOLD) Стадия цикла DevOps“Plan”

До сих пор было трудно запрашивать недавно созданные или измененные данные через API GitLab для эпиков. В 11.11 мы добавляем дополнительные фильтры created_after, created_before, updated_after, и updated_before, чтобы обеспечить согласованность с API тикетов и возможность легко найти эпики, которые были недавно созданы или изменены.

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


Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 11.11 released with Multi-Assignment for MRs and container enhancements.

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