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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 1

В выпуске GitLab 11.4 повышена эффективность рецензирования кода (code review) при помощи таких средств, как рецензирование запросов слияния (merge request reviews) [1] и файловое дерево в списке различий [2]. Предлагается новое средство "флажки функций [3]" (альфа-версия). Конвейеры Auto DevOps и CI стали еще более эффективны, поскольку в них появилась возможность выполнять миграцию базы данных PostgreSQL [4] и инкрементное развертывание по расписанию [5]. Сам Git стал еще быстрее с появлением поддержки протокола Git v2 [6].

Рецензирование кода

Средство «рецензирование запросов на слияние [1]» уменьшит хаос от многочисленных комментариев к коду и запросам на слияние. Функция пакетного внесения комментариев позволяют рецензенту вводить несколько комментариев по запросу кода или слияния, а затем окончательно оформить их и отправить в одном пакете. Теперь лица, подписавшиеся на данный проект, могут более эффективно отслеживать изменения.

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

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

Рассел Леви, соучредитель и технический директор сайта Chorus.ai [8], объясняет, как функции рецензирования и просмотра дерева файлов помогают их команде:

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

Флажки функций

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

Конвейеры Auto DevOps и CI/CD

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

Приятные косметические изменения

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

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

Самый ценный человек этого месяца (MVP [10]) — Люк Пиччо [11].

Люк добавил возможность загрузки кодов восстановления 2FA в виде файла [12], что упрощает их резервное копирование. Коды восстановления 2FA необходимы для восстановления доступа к вашему аккаунту GitLab, если вы потеряете доступ к своему телефону или одноразовому секретному паролю.

Спасибо, Люк, за Ваш вклад!

Основные функции, добавленные в выпуск GitLab 11.4

Рецензирование запросов на слияние

Доступно в версиях: PREMIUM, ULTIMATE, SILVER, GOLD

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

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 2

Создание и переключение флажков функций (feature flags) для приложений (альфа-версия)

Доступно в: PREMIUM, ULTIMATE, SILVER, GOLD

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

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 3

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 4

Возможность предложения владельцев кода в качестве лиц, утверждающих запрос

Доступно в: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 5

Обновление внешнего вида страницы профиля пользователя

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 6

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 7

Возможность использования Include в .gitlab-ci.yml перешла из Starter в Core

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 8

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

Это обеспечит дополнительный контроль для пользователей, чьи репозитории содержат различные виды ресурсов (assets) или сборок. Гарантируется, что для тех видов изменений, которые были совершены, будут выполнены лишь соответствующие им этапы; тем самым уменьшается общее время выполнения конвейера.

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 9

В конвейер Auto DevOps добавлены инкрементальные развертывания по расписанию

Доступно в: PREMIUM, ULTIMATE, SILVER, GOLD

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 10

Поддержка RBAC в Kubernetes для приложений, разрабатываемых под управлением GitLab

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

При первоначальной настройке инфраструктуры или подключении к уже существующей первостепенное значение приобретает безопасность. Управление доступом на основе ролей (role-based access control — RBAC) стало общедоступным как часть выпуска Kubernetes 1.8, предоставляя более детальные средства управления доступом к ресурсам Kubernetes.
Теперь интеграция GitLab с Kubernetes позволяет либо создать кластер с поддержкой RBAC в GKE, либо подключиться к существующему кластеру с поддержкой RBAC. При этом обеспечивается повышенная безопасность инфраструктуры.

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 11

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 12

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 13

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

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 14

Фильтрация по запросам на слияние WIP

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

Запросы на слияние являются основной частью GitLab; они обеспечивают для членов команды прозрачное сотрудничество в разработке кода. В частности, мы призываем команды делиться своей работой на ранних стадиях. При этом целесообразно пользоваться функцией WIP (работа в процессе), чтобы указать, что по данному запросу на слияние пока еще ведется активная работа, и на этой стадии он еще не должен выполняться.

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 15

Четкое выделение @mentions для текущего пользователя

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 16

Вставка таблиц и ссылок в одно нажатие кнопки

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

Теперь вы можете нажать кнопку ссылки, и при этом для вас будет создан скелет синтаксиса URL-ссылки. Вы можете без труда поместить туда ссылку и записать ее имя.
Благодарим Джорджа Циолиса [19] за возможность вставки таблиц!
Благодарим Яна Бекманна [20] за возможность вставки URL-ссылок!

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 17

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

Доступно в: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 18

Расширенные весовые значения в публикациях API

Доступно в: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD

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

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

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

Блокировка обсуждений в запросах на выпуск или в публикациях может помочь направить обсуждение к новым публикациям (или запросам на объединение). Она также может использоваться для предотвращения оскорблений или любого другого непродуктивного поведения.

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

Благодарим Мехди Лахмам [21] за внесенный вклад!

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 19

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

Доступно в: ULTIMATE, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 20

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 21

Просмотр проектов по популярности

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

Мы делаем все возможное, чтобы вы всегда могли найти интересные и полезные проекты в вашем экземпляре GitLab. В новом релизе мы добавили фильтр «Наивысший рейтинг» — чрезвычайно полезный фильтр, с помощью которого в вашем экземпляре можно увидеть проекты, получившие наивысшую оценку.
Благодарим Якопо Бесчи [22] за этот вклад!

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 22

Отображение процента содержания кода на определенном языке в предпросмотре проекта

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

В GitLab 11.4 мы добавили еще один показатель, который отображает процентное содержание кода соответствующих языков программирования. Таким образом, вы можете более наглядно увидеть количественные показатели набора технологий, задействованных в вашем проекте.
Благодарим за этот вклад Иоганна Хюберта Зоннтагбауэра [23]!

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 23

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

В этом релизе теперь поддерживается скачивание кодов восстановления в виде текстового файла с помощью кнопки «Скачать коды».

Благодарим Люка Пичио [11] за вклад в развитие сервиса!

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 24

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 25

Поддержка интерактивного веб-терминала в исполнителе Docker

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE

Функции интерактивных веб-терминалов были расширены, теперь они совместимы с исполнителями Docker. Сейчас сеанс Docker закрывается сразу после завершения скрипта, однако мы стремимся и дальше улучшать его работу, решив проблему #3605 [24] в нашей следующей версии.

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 26

Пропуск заданий Auto DevOps исходя из доступности функций

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

Начиная с 11.4 Auto DevOps будет оценивать план (GitLab.com) или уровень (самоуправляемый) экземпляра, в котором она запущена, чтобы определить, какие задания нужно пропустить. Таким образом Auto DevOps будет работать быстрее, если некоторые функции не используются.

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

Разрешить процессу планировать исполнение отложенных заданий

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 27

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 28

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

Доступно в: ULTIMATE, GOLD

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

В GitLab 11.4 мы добавили возможность добавления записей для управления лицензиями вручную. Разработчики проектов могут заранее определить политику использования лицензий на странице «Настройки>CI/CD>Управление лицензиями», выбрав нужные лицензии из набора стандартных лицензий или добавить уникальную запись в этот список.

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 29

Крайние значения предупреждений теперь отображаются на панели показателей

Доступно в: ULTIMATE, GOLD

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 30

Протокол Git v2

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

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

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

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

Обновление Geo UX в административном регионе

Доступно в: PREMIUM, ULTIMATE

Администратору Geo важно иметь представление о настройках дополнительных узлов и состоянии синхронизации при работе с удаленными командами.

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

Дополнительные усовершенствования UX [28] теперь являются частью нашего процесса!

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 31

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

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE

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

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

• В версии 11.4 и более новых версиях будет использоваться Prometheus 2.
• Существующие версии не будут обновляться автоматически. Мы добавили новую команду gitlab-ctl prometheus-upgrade, с помощью которой можно обновить Prometheus и, при необходимости, перенести данные [31]. Prometheus будет остановлен на время миграции данных.
• В GitLab 12.0 Prometheus автоматически обновится до версии 2.0 [32]. При автоматическом обновлении данные Prometheus 1.0 не будут перенесены.
Чтобы получить дополнительную информацию об обновлении Prometheus до версии 2.4.2, ознакомьтесь с нашей обновленной документацией [31].

Улучшения Geo

Доступно в: PREMIUM, ULTIMATE

Мы постоянно пытаемся улучшить функции Geo [33]для удаленных команд. Значимые улучшения Geo в GitLab 11.4:
Значительное увеличение производительности [34]
Хранение ссылок включено в вычисление контрольной суммы [35]
Перенос загрузок в хранилище объектов теперь также переносит локальные файлы [36]
Проверка хранилища основного узла теперь всегда дает правильную контрольную сумму [37]
Надежное создание очереди Sidekiq помогает обеспечить целостность данных [38]

Прочитайте новое сообщение в нашем блоге о том, как мы сделали GitLab Geo [39].

Улучшения Geo для команд SSH Git прокси-сервера для первичного узла

Доступно в: PREMIUM, ULTIMATE, SILVER, GOLD

Одна из наши постоянных задач — сделать Geo максимально простым в использовании, чтобы облегчить работу удаленных команд в GitLab. В версии 11.3 [40] мы добавили поддержку проксирования SSH git push из подчиненных узлов в основные узлы.

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

Новый выпуск GitLab 11.4 с рецензированием запросов слияния и флажками функций - 32

GitLab Runner 11.4

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

Сегодня мы также выпустили GitLab Runner 11.4! GitLab Runner — это проект с открытым исходным кодом, который используется для запуска заданий CI/CD и отправки результатов обратно в GitLab.

Самые интересные изменения:

Поддержка ведения журнала JSON [41]
Поддержка докеров для интерактивного веб-терминала [42]
Поддержка докеров для поддержки веб-терминала [43]
Возможность отключить перезапись точки входа в докер [44]
Добавлено отображение параллельных и предельных значений [45]
Добавлены показатели команды gitlab_runner_jobs_total [46]
Добавлена диаграмма, отображающая продолжительность исполнения заданий [47]
Команда Fix и назначения аргументов при создании контейнеров с помощью K8S [48]

Список всех изменений можно найти в журнал изменений GitLab Runner: CHANGELOG [49]

Увеличение производительности

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD

Основные улучшения производительности GitLab 11.4:

Рендеринг Markdown при большом количестве ссылок на ярлыки стал быстрее [50]
Обсуждение проблем с большим количеством ссылок на разные проекты стали быстрее [51]
Извлечение ветвей проекта, связанных с проблемой, выполняется с использованием меньшего количества запросов [52]
Извлечение среды для запроса на объединение выполняется с использованием меньшего количества запросов [53]
Для вычисления получателей электронных уведомлений используется меньшее количество запросов [54]
Более быстрое создание нового топика diff по запросу на объединение [55]
Извлечение информации о «последней версии» в древовидной структуре создает меньше запросов Gitaly [56]
Загрузка запросов на объединение осуществляется быстрее после удаления неисполняемого кода [57]

Улучшения Omnibus

Доступно в: CORE, STARTER, PREMIUM, ULTIMATE

redis был обновлен до версии 3.2.1. Это критически важное обновление для обеспечения безопасности, в котором было устранено множество уязвимостей. После обновления до версии 11.4 запустите gitlab-ctl restart redis, чтобы убедиться, что новая версия запущена.
• В GitLab 11.4 входит Mattermost 5.3 [58], которая является альтернативой Slack с открытым исходным кодом [59]. В последней версии был добавлен расширенный поиск на ПК и мобильных устройствах, также многое другое. Она также включает обновления, повышающие безопасность [60], поэтому мы рекомендуем ее установить.
git был обновлен до версии 2.18.1, а libpng — до 1.6.35.
gnupg был обновлен до версии 2.2.10, gpgmeдо 1.10.0, libgcrypt до 1.8.3, npthдо 1.6, libgpg-error до 1.32 и libassuan до 2.5.1.
• Теперь сертификаты в каталоге trusted_certs устанавливаются как разрешение 0644, а не 0755.

Больше не поддерживаются

Версии Docker в GitLab Runner

В GitLab 11.4 (от 22 октября 2018 года) была прекращена поддержка версий Docker до 1.12 (API версии 1.24) в соответствии с рекомендациями последней версии Docker [61]. В версии 11.4 и выше старые версии официально больше не будут поддерживаются и могут перестать работать в любое время.

Дата удаления: 22 октября 2018 г.

Поддержка Prometheus 1.x в Omnibus GitLab

GitLab 11.4 (от 22 октября 2018 года) больше не будет включать комплектную версию Prometheus 1.0 в Omnibus GitLab. С этого момента будет использоваться [62] Prometheus 2.0, формат показателей которого несовместим с версией 1.0. Существующие версии можно обновить до 2.0 и, при необходимости, перенести данные с помощью встроенного инструмента [31].

В GitLab версии 12.0 будет автоматически устанавливаться Prometheus 2.0, если обновление еще не было произведено. Данные из Prometheus 1.0 не будут переноситься и будут утеряны.

Дата удаления: Выпуск GitLab 12.0

Барометр обновлений

Чтобы перейти с GitLab версии 11.3 на последнюю версию 11.4, не требуется остановка работы. Для обновления без остановки работы обратитесь к документации по обновлению без даунтайма. [63]

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

Миграция GitLab.com занимала приблизительно 34 минуты, а миграция после развертывания занимала около двух минут.

Мы рекомендуем пользователям GitLab Geo обратиться к документации по обновлению Geo [64].

Чтобы облегчить настройку, Omniauth теперь включен по умолчанию [65]. Поскольку внешние поставщики не настраиваются автоматически, это не должно влиять на установку в большинстве случаев. Однако, если вы уже настроили внешнего провайдера и не включили omniauth, он активируется при обновлении до версии 11.4. Чтобы этого не произошло, вы можете либо удалить поставщика из настроек, конфигурации, либо отключить Omniauth вручную [66].

Список изменений

Обратитесь к списку изменений, чтобы просмотреть все изменения:

GitLab Community Edition [67]
GitLab Enterprise Edition [67]
GitLab Runner [68]

Установка

Если вы настраиваете новую установку GitLab, см. страницу загрузки GitLab [68].

Обновление

Ознакомьтесь с нашей страницей обновлений [69].

Планы подписок GitLab

GitLab доступен в двух вариантах: самоуправляемом [70]и в качестве облачного сервиса (SaaS) [71].

Самоуправляемый [70]: Выполните развертывание локально или на вашей любимой облачной платформе.

Core: Для небольших команд, личных проектов или тестирования GitLab с неограниченным временем.
Starter: Для команд, участники которых находятся в одном и том же месте, занятых небольшим количеством проектов, которым нужна профессиональная поддержка.
Premium: Для распределенных команд, которым требуются расширенные функции, высокая доступность и поддержка в режиме 24/7.
Ultimate: Для предприятий, которые хотят согласовать свою стратегию и выполнение проектов с требованиями повышенной безопасности и совместимости.

Облачный сервис SaaS [71]GitLab.com: поддерживается, управляется и администрируется командой GitLab; возможны бесплатные и платные подписки [71] для отдельных лиц и команд.

Free: Неограниченные частные репозитории и неограниченное число сотрудников в проекте. Частные проекты получают доступ к функциям Free, открытые проекты [72] получают доступ к функциям Gold.
Bronze: Для команд, которым требуется доступ к расширенным функциям рабочего процесса.
Silver: Для команд, которым нужны более надежные возможности DevOps, совместимость и более быстрая поддержка.
Gold: Лучше всего подходит в при наличии большого количества заданий конвейера CI/CD. Члены команды каждого публичного проекта могут пользоваться функциями Gold бесплатно, независимо от их плана подписки.

Автор: nAbdullin

Источник [73]


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

Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/297001

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

[1] рецензирование запросов слияния (merge request reviews): https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#merge-request-reviews

[2] файловое дерево в списке различий: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#file-tree-for-browsing-merge-request-diff

[3] флажки функций: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#create-and-toggle-feature-flags-for-your-applications-alpha

[4] миграцию базы данных PostgreSQL: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#support-postgresql-db-migration-and-initialization-for-auto-devops

[5] инкрементное развертывание по расписанию: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#add-timed-incremental-rollouts-to-auto-devops

[6] протокола Git v2: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#git-protocol-v2

[7] выпуске 11.3: https://about.gitlab.com/2018/09/22/gitlab-11-3-released/

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

[9] в своих файлах .gitlab-ci.yml команды include: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#move-ability-to-use-includes-in-codegitlab-ciymlcode-from-starter-to-core

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

[11] Люк Пиччо: https://gitlab.com/Qwertie

[12] загрузки кодов восстановления 2FA в виде файла: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#download-two-factor-recovery-codes

[13] предварительный просмотр: https://gitlab.com/gitlab-org/gitlab-ee/issues/4327

[14] в одно пакетное уведомление: https://gitlab.com/gitlab-org/gitlab-ee/issues/4326

[15] GitLab 11.3: https://about.gitlab.com/2018/09/22/gitlab-11-3-released/#code-owners

[16] автоматического назначения: https://gitlab.com/gitlab-org/gitlab-ee/issues/1012

[17] требования утверждения: https://gitlab.com/gitlab-org/gitlab-ee/issues/4418

[18] GitLab 11.2: https://about.gitlab.com/2018/08/22/gitlab-11-2-released/#personal-status-messages

[19] Джорджа Циолиса: https://gitlab.com/gtsiolis

[20] Яна Бекманна: https://gitlab.com/kingjan1999

[21] Мехди Лахмам: https://gitlab.com/mehlah

[22] Якопо Бесчи: https://gitlab.com/jacopo-beschi

[23] Иоганна Хюберта Зоннтагбауэра: https://gitlab.com/johann.sonntagbauer

[24] #3605: https://gitlab.com/gitlab-org/gitlab-runner/issues/3605

[25] библиотека Rubix: https://github.com/Nurtch/rubix

[26] обычные операции: https://www.youtube.com/watch?v=Q_OqHIIUPjE&feature=youtu.be

[27] проводного протокола: https://mirrors.edge.kernel.org/pub/software/scm/git/docs/technical/pack-protocol.html

[28] Дополнительные усовершенствования UX: https://gitlab.com/groups/gitlab-org/-/epics/369

[29] легко отслеживать развернутые экземпляры: https://docs.gitlab.com/ee/administration/monitoring/prometheus/

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

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

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

[33] Geo : https://about.gitlab.com/features/gitlab-geo/

[34] Значительное увеличение производительности: https://gitlab.com/groups/gitlab-org/-/issues?scope=all&utf8=%E2%9C%93&state=closed&label_name%5B%5D=Geo%20Performance&milestone_title=11.4

[35] Хранение ссылок включено в вычисление контрольной суммы: https://gitlab.com/gitlab-org/gitlab-ee/issues/5196

[36] Перенос загрузок в хранилище объектов теперь также переносит локальные файлы: https://gitlab.com/gitlab-org/gitlab-ee/issues/7108

[37] Проверка хранилища основного узла теперь всегда дает правильную контрольную сумму: https://gitlab.com/gitlab-org/gitlab-ee/issues/7213

[38] Надежное создание очереди Sidekiq помогает обеспечить целостность данных: https://gitlab.com/gitlab-org/gitlab-ee/issues/7279

[39] как мы сделали GitLab Geo: https://about.gitlab.com/2018/09/14/how-we-built-gitlab-geo/

[40] 11.3: https://about.gitlab.com/2018/09/22/gitlab-11-3-released/#geo-improvements

[41] Поддержка ведения журнала JSON: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1020

[42] Поддержка докеров для интерактивного веб-терминала: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1008

[43] Поддержка докеров для поддержки веб-терминала: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1046

[44] Возможность отключить перезапись точки входа в докер: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/965

[45] Добавлено отображение параллельных и предельных значений: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1019

[46] Добавлены показатели команды gitlab_runner_jobs_total: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1018

[47] Добавлена диаграмма, отображающая продолжительность исполнения заданий: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1025

[48] Команда Fix и назначения аргументов при создании контейнеров с помощью K8S: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1010

[49] CHANGELOG: https://gitlab.com/gitlab-org/gitlab-runner/blob/v11.4.0/CHANGELOG.md

[50] Рендеринг Markdown при большом количестве ссылок на ярлыки стал быстрее: https://gitlab.com/gitlab-org/gitlab-ce/issues/48221

[51] Обсуждение проблем с большим количеством ссылок на разные проекты стали быстрее: https://gitlab.com/gitlab-org/gitlab-ce/issues/43094

[52] Извлечение ветвей проекта, связанных с проблемой, выполняется с использованием меньшего количества запросов: https://gitlab.com/gitlab-org/gitlab-ce/issues/43097

[53] Извлечение среды для запроса на объединение выполняется с использованием меньшего количества запросов: https://gitlab.com/gitlab-org/gitlab-ce/issues/43109

[54] Для вычисления получателей электронных уведомлений используется меньшее количество запросов: https://gitlab.com/gitlab-org/gitlab-ce/issues/47496

[55] Более быстрое создание нового топика diff по запросу на объединение: https://gitlab.com/gitlab-org/gitlab-ce/issues/49002

[56] Извлечение информации о «последней версии» в древовидной структуре создает меньше запросов Gitaly: https://gitlab.com/gitlab-org/gitlab-ce/issues/37433

[57] Загрузка запросов на объединение осуществляется быстрее после удаления неисполняемого кода: https://gitlab.com/gitlab-org/gitlab-ce/issues/51172

[58] Mattermost 5.3: https://mattermost.com/blog/mattermost-5-3-enhanced-search-on-desktop-and-mobile-plugin-hackathon-highlights-and-more/

[59] альтернативой Slack с открытым исходным кодом: https://mattermost.com

[60] обновления, повышающие безопасность: https://about.mattermost.com/security-updates/

[61] рекомендациями последней версии Docker: https://docs.docker.com/develop/sdk/#api-version-matrix

[62] С этого момента будет использоваться: https://about.gitlab.com/2018/10/22/gitlab-11-4-released/#prometheus-20-upgrade-for-omnibus-gitlab

[63] документации по обновлению без даунтайма.: https://docs.gitlab.com/ee/update/README.html#upgrading-without-downtime

[64] обновлению Geo: https://docs.gitlab.com/ee/administration/geo/replication/updating_the_geo_nodes.html

[65] Omniauth теперь включен по умолчанию: https://docs.gitlab.com/ee/integration/omniauth.html

[66] отключить Omniauth вручную: https://docs.gitlab.com/ee/integration/omniauth.html#disabling-omniauth

[67] GitLab Community Edition: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/CHANGELOG-EE.md

[68] GitLab Runner: https://gitlab.com/gitlab-org/gitlab-runner/blob/master/CHANGELOG.md

[69] страницей обновлений: https://about.gitlab.com/update/

[70] самоуправляемом : https://about.gitlab.com/pricing/#self-managed

[71] облачного сервиса (SaaS): https://about.gitlab.com/pricing/#gitlab-com

[72] открытые проекты: https://gitlab.com/explore

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