- PVSM.RU - https://www.pvsm.ru -

Вышел GitLab 11.4 с ревью мерж-реквестов и подключаемыми фичами

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

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

С GitLab 11.4 мы делаем ревью кода более эффективным за счет ревью мерж-реквестов [1] и дерева файлов для изменений [2]; также мы представляем альфа-версию подключаемых фич (feature flags, feature toggle) [3]. Auto DevOps и CI работают лучше в связке с миграцией баз данных PostgreSQL [4] и инкрементным развертыванием по расписанию [5]. Даже Git теперь быстрее с поддержкой протокола Git v2 [6].

Ревью кода

Ревью мерж-реквестов [1] поможет упорядочить комментарии по коду и мерж-реквестам. Пакетное комментирование (batch comments) позволяет ревьюверу писать комментарии по коду или мерж-реквесту и затем оформить и отправлять их одним пакетом, и теперь отслеживание изменений в проекте стало проще.

Ключевой шаг к поставке кода высокого качества — правильный выбор людей, ответственных за ревью и подтверждение изменений в коде. Взяв за основу владельцев кода, введенных в релизе 11.3 (оригинальная статья [7], перевод [8]), GitLab теперь предлагает тех, кого указали в файле CODEOWNERS, в качестве ревьюверов и подтверждающих для мерж-реквеста. Таким образом, ревью и подтверждение изменений будут проводиться быстрее и эффективнее. Это также пригодится для разделения ролей и обязанностей в команде, например, если вам нужны определенные ревьюверы для конкретных частей кода.

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

Russell Levy, один из основателей и технический директор Chorus.ai [9], рассказал, как ревью мерж-реквестов и представление в виде дерева файлов помогают их команде:

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

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

Подключаемые фичи

Мы представляем альфа-версию системы переключения функциональности — подключаемые фичи [3]. Теперь команды могут практиковать непрерывную поставку (continuous delivery), добавляя новые фичи в продакшн небольшими партиями, снижая риск перед полноценным развертыванием.

Улучшения для Auto DevOps и CI/CD

Мы выводим возможность подключения дополнительных файлов в файл .gitlab-ci.yml с помощью include [10] из плана Starter в план Core, делая ее доступной для всех пользователей. Теперь все команды могут воспользоваться преимуществами этой передовой практики и более эффективно управлять своими конвейерами CI/CD.

И ещё больше усовершенствований

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

Читайте дальше, и вы узнаете обо всех новых фичах GitLab 11.4.

Приглашаем на наши встречи [11] и на вебкаст релиза 11.4 [12].

GitLab MVP badge

MVP [13] этого месяца — Luke Picciau [14]

Luke добавил возможность скачивания файла с кодами восстановления для двухфакторной аутентификации [15], что упростит их бэкап. Эти коды потребуются для входа в аккаунт GitLab, если вы потеряете доступ к своему телефону или одноразовому секретному паролю (one time password secret).

Спасибо, Luke, за этот вклад!

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

Ревью мерж-реквестов

(PREMIUM, ULTIMATE, SILVER, GOLD)

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

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

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

Merge Request Reviews

Документация по обсуждениям [18] и оригинальный тикет [19].

Создание и использование подключаемых фич в ваших приложениях (альфа-версия)

(PREMIUM, ULTIMATE, SILVER, GOLD)

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

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

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

Create and toggle feature flags for your applications (alpha)

Документация по подключаемым фичам [20] и оригинальный тикет [21].

Дерево файлов для просмотра изменений мерж-реквеста

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

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

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

File tree for browsing merge request diff

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

Владельцы кода предлагаются в качестве подтверждающих мерж-реквест

(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)

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

Поддержка владельцев кода появилась в релизе GitLab 11.3 (оригинальная статья [24], перевод [25]). В будущих релизах увеличится степень участия владельцев кода в рабочих процессах мерж-реквестов с автоматическим назначением как подтверждающих [26] и требуемым подтверждением владельца [27].

Suggest Code Owners as merge request approvers

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

Обновленный вид страницы профиля

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

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

New user profile page overview

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

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

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

В релизе GitLab 11.2 (оригинальная статья [32], перевод [33]) мы впервые представили статусы пользователей, предоставив возможность поделиться вашей текущей загруженностью, настроением или хоть любимым животным.

В этом релизе мы упрощаем изменение статуса. Новый пункт «Задать статус» (“Set status”) в меню пользователя позволит вам задать или очистить статус не покидая контекста. Там же отображается ваш текущий статус с сообщением и эмоджи — вверху, вместе с вашим именем и никнеймом.

Set and show your status message within the user menu

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

Подключение дополнительных файлов в .gitlab-ci.yml с помощью include теперь доступно в плане Core

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Мы счастливы объявить, что начиная с этого релиза использование include в .gitlab-ci.yml перенесено из плана Starter в план Core. Таким образом шаблоны и другие общие ресурсы всегда будут доступны для бесплатных и платных пользователей, и у каждого будет возможность использовать эту передовую технологию разработки с переиспользуемыми сниппетами для конвейеров CI/CD.

Move ability to use includes in `.gitlab-ci.yml` from Starter to Core

Документация по include [36] и оригинальный тикет [37].

Запуск работ only/except для изменений в пути файла или в файле

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Мы рады представить то, о чем вы часто просили — возможность использовать правила only/except в .gitlab-ci.yml для работ, если изменения происходят в конкретном файле или по указанному пути.

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

Run jobs `only`/`except` for modifications on a path or file

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

Добавили инкрементное развертывание по расписанию в Auto DevOps

(PREMIUM, ULTIMATE, SILVER, GOLD)

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

Add timed incremental rollouts to Auto DevOps

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

Поддержка Kubernetes RBAC для приложений под управлением GitLab

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

При первичной настройке вашей инфраструктуры или при подключении к существующей первостепенным фактором является безопасность. Управление доступом на основе ролей (Role-based access control, RBAC) стало общедоступным (GA) в релизе Kubernetes 1.8, предоставляя более точную настройку управлением доступом к ресурсам Kubernetes.

Наша интеграция с Kubernetes теперь предлагает возможность либо создать кластер в GKE (Google Kubernetes Engine) с подключенным RBAC, либо подключиться к существующему кластеру с RBAC, что сделает вашу инфраструктуру безопаснее.

Support Kubernetes RBAC for GitLab managed apps

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

Поддержка RBAC в Auto DevOps

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Auto DevOps теперь также поддерживает развертывание приложений на кластерах Kubernetes с подключенным RBAC.

Управление доступом на основе ролей — важный инструмент, который помогает операторам (ответственным за деплой) обеспечить надежность, безопасность и эффективность кластеров Kubernetes. Использование Auto DevOps совместно с кластером с подключенным RBAC гарантирует, что ваши приложения получат все преимущества возросшей безопасности инфраструктуры.

Auto DevOps support for RBAC

Документация по Auto DevOps [44] и оригинальный тикет [45].

Поддержка миграции баз данных PostgreSQL и их инициализации для Auto DevOps

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

Просто задайте переменную проекта для инициализации или миграции вашей базы PostgreSQL, а Auto DevOps сделает все остальное.

Support PostgreSQL DB migration and initialization for Auto DevOps

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

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

Список меток, на которые вы подписаны

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

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

List of subscribed labels

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

Фильтрация мерж-реквестов по WIP

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Мерж-реквесты являются одной из основных частей GitLab. Они позволяют участникам проекта совместно работать над кодом, соблюдая при этом прозрачность. Мы за то, чтобы команды на ранних стадиях делились своей работой и использовали фичу WIP («work in progress», «в процессе разработки»), которая показывает, что над мерж-реквестом все еще ведется активная работа, и его еще рано мержить.

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

Filter by WIP merge requests

Документация по WIP-фильтру [50] и оригинальный тикет [51].

Выделение персональных упоминаний

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

Начиная с этого релиза, все упоминания по @имени текущего пользователя, будут выделяться другим цветом, что позволяет сразу увидеть, какие комментарии направлены вам, и быстро на них сфокусироваться.

Highlight `@mentions` for yourself distinctly

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

Вставка GFM-таблиц и ссылок в Markdown по клику

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

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

Аналогично, щелкнув по кнопке вставки ссылки, вы получите шаблон для URL, в который вы можете быстро вставить адрес ссылки и ее название.

Спасибо George Tsiolis [54] за разработку вставки таблицы!

Спасибо Jan Beckmann [55] за разработку вставки URL!

Click to insert Markdown table and link

Документация по GFM [56] и оригинальный тикет [57].

Включение новых задач в график выполнения работ

(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)

Графики выполнения работ (burndown charts) помогают командам отслеживать прогресс в выполнении работы по майлстоуну. Обычно объем работы обсуждается и утверждается до того, как майлстоун начнется. Но иногда у этого правила бывают важные исключения (такие как неожиданный баг или решение проблемы безопасности), и приходится создавать новые тикеты для возникающих задач.

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

Include new issues created in Burndown Chart

Расширенный диапазон значений весов в API задач

(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)

Начиная с предыдущего релиза, значения весов задач могут меняться от нуля до бесконечности (в разумных пределах).

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

Документация по API задач [58] и оригинальный тикет [59]

Быстрая блокировка обсуждений

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

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

Спасибо Mehdi Lahmam [60] за эту фичу!

Lock discussion quick action

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

Закрытие эпиков

(ULTIMATE, GOLD)

В этом релизе добавлена возможность закрывать (и открывать заново) эпики в GitLab, так же как задачи и мерж-реквесты. В списке эпиков теперь есть вкладки Open (открыто), Closed (решено) и All (все), аналогично тому, как это реализовано для задач. Так что теперь, если вы завершили всю работу над эпиком, или он уже не актуален, его можно пометить как завершенный (closed), и он больше не будет появляться в списке по умолчанию.

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

Close epics

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

Улучшение панели настроек администратора

(CORE, STARTER, PREMIUM, ULTIMATE)

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

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

Improve Admin Area settings structure

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

Сортировка проектов по популярности

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Наша команда разработчиков делает все возможное, чтобы вам было удобнее искать релевантные и интересные проекты в вашем инстансе GitLab. В этом релизе был добавлен новый фильтр “Most stars” (сортировка по числу лайков), который позволяет находить проекты с наибольшим числом отметок в вашем инстансе.

Спасибо Jacopo Beschi [67] за эту фичу!

Explore projects by popularity

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

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

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Недавно мы добавили на страницу обзора проекта статистику использования языков, которая дает общее представление о том, какие языки программирования были использованы при разработке.

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

Спасибо Johann Hubert Sonntagbauer [70] за эту фичу!

Display code language percentage on project overview

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

Скачивание двухфакторных кодов восстановления

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

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

Начиная с этого релиза поддерживается возможность скачивания кодов восстановления в виде текстового файла при помощи кнопки “Download codes” (загрузить коды).

Спасибо Luke Picciau [14] за эту фичу!

Download two-factor recovery codes

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

Фильтрация по типу и состоянию в окне просмотра Runners

(CORE, STARTER, PREMIUM, ULTIMATE)

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

Filter admin Runners view by Runner type and state

Документация по Runners [75] и оригинальный тикет [76].

В исполнитель Docker добавлена поддержка интерактивных веб-терминалов

(CORE, STARTER, PREMIUM, ULTIMATE)

Мы расширили функциональность интерактивных веб-терминалов и сделали их совместимыми с исполнителями Docker. На текущий момент сессия Docker завершается, как только завершается соответствующий скрипт, но мы работаем над этой проблемой [77], и надеемся решить ее к следующему релизу.

Add support for interactive web terminal to Docker executor

Документация по интерактивным веб-терминалам [78] и оригинальный тикет [79].

Пропуск работ Auto DevOps при недоступности функций

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Начиная с версии 11.4 Auto DevOps будет производить оценку плана (при хостинге [80] на GitLab.com) или профиля (при селф-хостинге) для инстанса, в котором он запущен, чтобы определить, какие работы следует пропустить. В результате конвейер Auto DevOps будет работать быстрее, так как будут пропускаться неиспользуемые функции.

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

Документация по Auto DevOps [44] и оригинальный тикет [81].

Конвейеры могут задавать выполнение работ по расписанию

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

В новом релизе появилась возможность откладывать старт работы через ключевое слово ‘when’ в файле gitlab-ci.yml. Отсчет времени начинается с момента, когда работа должна начать выполняться с учетом задержки, что дает вам возможность добавлять работы, которые должны выполняться через определенный период времени — например, при использовании инкрементного развертывания или в других случаях, когда дальнейшие действия должны выполняться после задержки.

Allow pipelines to schedule delayed jobs

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

Интерактивные перечни задач с Nurtch и JupyterHub

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Интерактивные перечни задач (runbooks) дают операторам отличную возможность взаимодействовать с различными системами для выполнения диагностики, развертывания и оценки компонентов инфраструктуры.

JupyterHub, приложение, доступное благодаря интеграции GitLab и Kubernetes теперь включает в себя библиотеку Nurtch Rubix [84], что дает возможность создавать перечни задач для DevOps. В качестве примера представлен тестовый перечень задач, демонстрирующий основные операции [85].

Interactive runbooks with Nurtch and JupyterHub

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

Добавлен ручной ввод при заполнении списков лицензий

(ULTIMATE, GOLD)

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

В GitLab 11.4 мы добавили возможность ручного ввода при составлении списка лицензий. Maintainers могут заполнить список на странице Settings > CI/CD > License Management, выбирая лицензии из стандартного набора или добавляя их вручную.

Add manual entries for License Management

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

На панели метрик теперь отображаются пороговые значения для оповещений

(ULTIMATE, GOLD)

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

Alert thresholds now displayed on metrics dashboard

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

Протокол Git v2

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Разработчики обновляют локальные репозитории (git fetch) несколько раз в день, чтобы проверить, не отстает ли текущая ветка от последней версии ветки в репозитории. Протокол Git v2 является важным обновлением протокола передачи данных [92], который отвечает за обмен данными между клиентом (вашим компьютером) и сервером (GitLab) при клонировании, извлечении и пушах. Новый протокол передачи данных повышает производительность фетчей и дает возможность и дальше улучшать протокол.

Ранее при вызове фетч-команд выводился список всех ссылок в репозитории. Например, если фетчить обновления для одной ветки (git fetch origin master) то вам также будет выводиться полный список всех ссылок. Если речь идет о большом проекте, вы можете получить более 100000 ссылок и десятки мегабайт данных.

Протокол Git v2 поддерживается начиная с версии Git v2.18.0, но не используется по умолчанию. Чтобы активировать его, вызовите команду git config --global protocol.version 2. На GitLab.com протокол Git v2 пока не подключен по умолчанию при работе по SSH. Если вы хотите его использовать, вам нужно подключить его вручную.

Документация по настройке протокола Git v2 [93] и оригинальный тикет [94].

Улучшение UX панели настроек администратора Geo

(PREMIUM, ULTIMATE)

Для администратора Geo критически важно следить за загрузкой и синхронизацией вторичных нодов при работе с географически распределенными командами.
В GitLab 11.4 мы улучшили UX Geo на панели администратора, добавив в пользовательский интерфейс еще больше информации по синхронизации и верификации. При нажатии новой кнопки “Open projects” (открыть проекты) в профиле на первичном ноде, генерируется ссылка на список проектов на соответствующем вторичном ноде. В профилях на вторичных нодах в новой вкладке “All” содержится основная информация о статусе верификации всех проектов.

У нас в планах дальнейшие улучшения UX [95]!

Geo UX improvements in Admin Area

Документация по UX Geo [96] и оригинальный тикет [97].

Обновление Prometheus 2.0 для Omnibus GitLab

(CORE, STARTER, PREMIUM, ULTIMATE)

Omnibus Gitlab поставляется вместе с Prometheus, что дает наглядное представление развернутых инстансов [98]. Команда разработчиков Prometheus выпустила масштабное обновление в виде новой серии 2.x, которая включает в себя ряд улучшений [99], среди которых улучшенная производительность и более удобный формат базы данных временных рядов. К сожалению, изменение архитектуры базы данных привело к тому, что она не поддерживает обратную совместимость со старым форматом серии 1.x.

Начиная с GitLab 11.4, Prometheus 2.4.2 входит в пакет Omnibus, так что вы уже можете воспользоваться его преимуществами.

Чтобы получить больше информации об обновлении Prometheus до 2.4.2, обратитесь к нашей документации по обновлениям [100].

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


Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 11.4 released with Merge Request Reviews and Feature Flags [103].

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

Автор: aionin

Источник [106]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/298234

Ссылки в тексте:

[1] ревью мерж-реквестов: #revyu-merzh-rekvestov

[2] дерева файлов для изменений: #derevo-faylov-dlya-prosmotra-izmeneniy-merzh-rekvesta

[3] подключаемых фич (feature flags, feature toggle): #sozdanie-i-ispolzovanie-podklyuchaemyh-fich-v-vashih-prilozheniyah-alfa-versiya

[4] миграцией баз данных PostgreSQL: #podderzhka-migracii-baz-dannyh-postgresql-i-ih-inicializacii-dlya-auto-devops

[5] инкрементным развертыванием по расписанию: #dobavili-inkrementnoe-razvertyvanie-po-raspisaniyu-v-auto-devops

[6] Git v2: #protokol-git-v2

[7] оригинальная статья: https://about.gitlab.com/2018/09/22/gitlab-11-3-released/

[8] перевод: https://habr.com/post/425819/

[9] Chorus.ai: http://www.chorus.ai

[10] подключения дополнительных файлов в файл .gitlab-ci.yml с помощью include: #podklyuchenie-dopolnitelnyh-faylov-v-gitlab-ciyml-s-pomoschyu-include-teper-dostupno-v-plane-core

[11] Приглашаем на наши встречи: https://about.gitlab.com/events/

[12] на вебкаст релиза 11.4: https://about.gitlab.com/webcast/monthly-release/gitlab-11.4---collaboration/

[13] MVP: https://about.gitlab.com/mvp/

[14] Luke Picciau: https://gitlab.com/Qwertie

[15] скачивания файла с кодами восстановления для двухфакторной аутентификации: #skachivanie-dvuhfaktornyh-kodov-vosstanovleniya

[16] превью: https://gitlab.com/gitlab-org/gitlab-ee/issues/4327

[17] одно уведомление: https://gitlab.com/gitlab-org/gitlab-ee/issues/4326

[18] Документация по обсуждениям: https://docs.gitlab.com/ee/user/discussions/index.html

[19] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/1984

[20] Документация по подключаемым фичам: https://docs.gitlab.com/ee/user/project/operations/feature_flags.html

[21] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/6220

[22] Документация по мерж-реквестам и навигации в диффах: https://docs.gitlab.com/ee/user/project/merge_requests/index.html#merge-request-diff-file-navigation

[23] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/14249

[24] оригинальная статья: https://about.gitlab.com/2018/09/22/gitlab-11-3-released/#code-owners

[25] перевод: https://habr.com/post/425819/#vladelcy-koda

[26] автоматическим назначением как подтверждающих: https://gitlab.com/gitlab-org/gitlab-ee/issues/1012

[27] требуемым подтверждением владельца: https://gitlab.com/gitlab-org/gitlab-ee/issues/4418

[28] Документация по подтверждению мерж-реквестов: https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html#codeowners-file

[29] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/5382

[30] Документация по профилю пользователя: https://docs.gitlab.com/ee/user/profile/#user-profile

[31] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/49801

[32] оригинальная статья: https://about.gitlab.com/2018/08/22/gitlab-11-2-released/#personal-status-messages

[33] перевод: https://habr.com/post/422473/#lichnye-statusy-v-profile

[34] Документация по статусам: https://docs.gitlab.com/ee/user/profile/#current-status

[35] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/49075

[36] Документация по include: https://docs.gitlab.com/ee/ci/yaml/#include

[37] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/42861

[38] Документация по использованию ограничений в changes: https://docs.gitlab.com/ee/ci/yaml/#onlychanges

[39] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/19232

[40] Докуметация по инкрементному развертыванию по расписанию: https://docs.gitlab.com/ee/topics/autodevops/#timed-incremental-rollout-to-production

[41] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/7545

[42] Документация по кластерам с RBAC: https://docs.gitlab.com/ee/user/project/clusters/#role-based-access-control-rbac

[43] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/29398

[44] Документация по Auto DevOps: https://docs.gitlab.com/ee/topics/autodevops/

[45] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/44597

[46] Документация по автоматическому деплою: https://docs.gitlab.com/ee/topics/autodevops/#auto-deploy

[47] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/48004

[48] Документация по поиску для меток: https://docs.gitlab.com/ee/user/project/labels.html#searching-for-project-labels

[49] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/50835

[50] Документация по WIP-фильтру: https://docs.gitlab.com/ee/user/project/merge_requests/work_in_progress_merge_requests.html

[51] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/13650

[52] Документация по упоминаниям: https://docs.gitlab.com/ee/user/project/issues/issues_functionalities.html#13-mentions

[53] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/49036

[54] George Tsiolis: https://gitlab.com/gtsiolis

[55] Jan Beckmann: https://gitlab.com/kingjan1999

[56] Документация по GFM: https://docs.gitlab.com/ee/user/markdown.html

[57] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/29788

[58] Документация по API задач: https://docs.gitlab.com/ee/api/issues.html

[59] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/6822

[60] Mehdi Lahmam: https://gitlab.com/mehlah

[61] Документация по быстрым действиям: https://docs.gitlab.com/ee/user/project/quick_actions.html

[62] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/39173

[63] Документация по эпикам: https://docs.gitlab.com/ee/user/group/epics/

[64] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/7013

[65] Документация по панели настроек администратора: https://docs.gitlab.com/ee/user/admin_area/settings/

[66] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/44998

[67] Jacopo Beschi: https://gitlab.com/jacopo-beschi

[68] Документация по поиску проектов: https://docs.gitlab.com/ee/user/search/#projects

[69] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/47203

[70] Johann Hubert Sonntagbauer: https://gitlab.com/johann.sonntagbauer

[71] Документация по языкам программирования в репозитории: https://docs.gitlab.com/ee/user/project/repository/#repository-languages

[72] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/51457

[73] Документация по кодам восстановления: https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html#recovery-codes

[74] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/47963

[75] Документация по Runners: https://docs.gitlab.com/ee/ci/runners/

[76] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/36781

[77] над этой проблемой: https://gitlab.com/gitlab-org/gitlab-runner/issues/3605

[78] Документация по интерактивным веб-терминалам: https://docs.gitlab.com/ee/ci/interactive_web_terminal/

[79] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-runner/issues/3467

[80] хостинге: https://www.reg.ru/?rlink=reflink-717

[81] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/48399

[82] Документация по откладыванию работ: https://docs.gitlab.com/ee/ci/yaml/README.html#when-delayed

[83] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/51352

[84] Rubix: https://github.com/amit1rrr/rubix

[85] основные операции: https://youtu.be/Q_OqHIIUPjE

[86] Документация по установке приложений: https://docs.gitlab.com/ee/user/project/clusters/#installing-applications

[87] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/45912

[88] Документация по ручному заполнению списков лицензий: https://docs.gitlab.com/ee/user/project/merge_requests/license_management.html#manual-license-management

[89] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/5940

[90] Документация по пороговым значениям для оповещений: https://docs.gitlab.com/ee/user/project/integrations/prometheus.html#setting-up-alerts-for-prometheus-metricsspan-classbadge-trigger-ultimatespan

[91] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/6036

[92] протокола передачи данных: https://www.kernel.org/pub/software/scm/git/docs/technical/pack-protocol.html

[93] Документация по настройке протокола Git v2: https://docs.gitlab.com/ee/administration/git_protocol.html

[94] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/46555

[95] дальнейшие улучшения UX: https://gitlab.com/groups/gitlab-org/-/epics/369

[96] Документация по UX Geo: https://docs.gitlab.com/ee/administration/geo/replication/configuration.html

[97] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/7126

[98] наглядное представление развернутых инстансов: https://docs.gitlab.com/ee/administration/monitoring/prometheus/

[99] ряд улучшений: https://prometheus.io/blog/2017/11/08/announcing-prometheus-2-0/

[100] обновления Prometheus и переноса необходимых данных: https://docs.gitlab.com/omnibus/update/gitlab_11_changes.html#11-4

[101] автоматически обновится до Prometheus 2.0: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#release-deprecations

[102] оригинальный тикет: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2940

[103] GitLab 11.4 released with Merge Request Reviews and Feature Flags: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/

[104] cattidourden: https://habr.com/users/cattidourden/

[105] rishavant: https://habr.com/users/rishavant/

[106] Источник: https://habr.com/post/428940/?utm_campaign=428940