Главная » Хабрахабр » [Перевод] Вышел GitLab 11.7 с Релизами, многоуровневыми вложенными эпиками и реестром NPM-пакетов

[Перевод] Вышел GitLab 11.7 с Релизами, многоуровневыми вложенными эпиками и реестром NPM-пакетов

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

Управление релизами стало намного проще

7 представляет Релизы для планов начиная с Core. GitLab 11. Это избавляет от необходимости вручную собирать в одном месте исходный код, лог сборки, другие метаданные или артефакты, относящиеся к данному релизу. Пользователи теперь будут получать полный «слепок» релиза — исходный код со всеми артефактами проекта. Эта фича послужит основой для более развернутого и проработанного управления релизами в будущем.

Управление портфолио теперь поддерживает более сложные структуры разбивки работы

Вложенные эпики позволяют разбивать работу на многоуровневые структуры для создания более сложных проектов и планов работ. Многоуровневые вложенные эпики — самое свежее дополнение к Управлению портфолио в GitLab, доступно в плане Ultimate. Эпики теперь могут содержать в себе задачи и другие эпики; такая структура позволит создать прямую связь между планированием и задачами для реализации.

Оптимизация разработки на JavaScript с реестрами NPM-пакетов

7 в плане Premium добавляет реестры NPM-пакетов напрямую в GitLab, предоставляя стандартный, более безопасный способ совместно использовать NPM-пакеты и управлять их версиями среди проектов. Gitlab 11. Просто укажите имя пакета и NPM с GitLab сделают все необходимое в том же интерфейсе.

И даже больше

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

  • С релизом GitLab 11. Закрытие уязвимости с помощью патч-файла: Инструменты безопасности GitLab помогают в обнаружении уязвимостей. Пока что это первая официальная фича, закрывающая уязвимости, но точно не последняя! 7 появилась возможность вылечить уязвимость и предложить решение для проектов на Node.js, управляемых Yarn.

  • Интеграция с Kubernetes по API: Для тех, кто создает действительно много кластеров Kubernetes или считает себя мастером работы с Kubernetes, мы добавили API Kubernetes, что значительно уменьшит работу вручную и упростит жизнь.

  • Просмотр связей межпроектных конвейеров: Благодаря нашей новой фиче — улучшенному просмотру межпроектных конвейеров — вся необходимая информация теперь будет у вас под рукой.

7! Дальше вас ждет полный список нововведений релиза GitLab 11.

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

GitLab MVP badge

Спасибо за этот вклад, который поможет дальнейшей поддержке этого популярного языка в GitLab! MortyChoi добавил поддержку приватных пакетов Go в подгруппах.

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

Выпуск релизов ваших проектов

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

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

Publish releases for your projects

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

Многоуровневые вложенные эпики

(ULTIMATE, GOLD)

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

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

Multi-level Child Epics

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

Просмотр связей межпроектных конвейеров

(PREMIUM, ULTIMATE, SILVER, GOLD)

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

Cross-project pipeline browsing

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

Закрытие уязвимости с помощью патч-файла

(ULTIMATE, GOLD)

GitLab может обнаружить различные типы уязвимостей в ваших приложениях и предложить возможные способы их устранения.

7, вы можете скачать патч-файл и применить его к вашему репозиторию с помощью команды git apply. Начиная с релиза GitLab 11. Это упрощает процесс решения подобных проблем и сокращает время, необходимое для применения решения. Затем отправьте изменения в репозиторий, и панель безопасности подтвердит, что уязвимость закрыта. Патч будет отображаться в окне сведений об уязвимости, когда он будет доступен. На данный момент сканирование зависимостей сообщает об известных уязвимостях в проектах на NodeJS, работающих под управлением пакетного менеджера yarn, и для этого не требуется никаких дополнительных усилий.

Remediate vulnerability with patch file

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

Возможность задать ключи-секреты приложения переменными в Kubernetes

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

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

Просто начните название переменной с K8S_SECRET_, и соответствующий конвейер CI примет ее как ключ-секрет вашего приложения для Kubernetes.

Configure Kubernetes app secrets as variables

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

Реестр NPM-пакетов

(PREMIUM, ULTIMATE, SILVER, GOLD)

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

7 мы добавили встроенный в GitLab реестр NPM-пакетов. В версии GitLab 11. Все это доступно через один и тот же интерфейс. Это означает, что теперь разработчики могут использовать простую договоренность по названию пакетов для использования библиотеки в любом проекте Node.js, в то время как все остальное сделают NPM и GitLab. Эта фича будет доступна в GitLab Premium.

Посмотрите образец проекта, в котором происходит сборка и вставка в реестр.

NPM registry

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

Поддержка API для интеграции с Kubernetes

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

Это означает что все действия, которые сейчас доступны в GUI — добавление, удаление и вывод списка кластеров Kubernetes — теперь доступны и через API. В этом релизе мы добавили поддержку API для интеграции с Kubernetes. Это дает командам разработчиков возможность создавать кластеры в процессе разработки.

API support for Kubernetes integration

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

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

Окно поискового фильтра для навигации по доскам задач

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

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

Search filter box for issue board navigation

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

Редизайн списка проектов

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

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

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

Project list redesign

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

Поддержка почтовых ящиков с функцией catch-all, включая Microsoft Exchange и Google Groups для фич, использующих входящие email

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

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

Начиная с этого релиза GitLab поддерживает и суб-адресацию, и почтовые ящики с функцией catch-all, используя новый формат писем, который позволяет GitLab интеграцию с еще большим числом email-серверов, включая Microsoft Exchange и Google Groups, которые не поддерживают суб-адресацию.

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

Импорт задач в формате CSV

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

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

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

Также в GitLab уже есть фича для экспорта CSV-файлов.

Import issues CSV

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

Генерация краткой SHA-последовательности как переменной окружения

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

Зачастую нет необходимости в том, чтобы выводить на экран всю строку, и вы хотите, чтобы были показаны только первые восемь символов SHA для быстрого перехода по ссылке, хотя при этом эта последовательность может быть не уникальной. В Git SHA представляют собой состоящие из 40 символов указатели на определенные объекты (например, коммиты) в репозитории Git. Мы добавили переменную окружения CI_COMMIT_SHORT_SHA для конвейера CI для решения этой задачи, что позволит вам сгенерировать первую часть SHA коммита.

Short commit SHA available as environment variable

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

Более строгие ограничения по подтверждению своих мерж-реквестов

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

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

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

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

Поддержка авторизации для сетевых includes

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

Теперь вы можете получить доступ к файлам YAML в другом проекте без публичного доступа (например, приватный проект на GitLab.com), используя данные авторизации, с которыми работает конвейер. При включении внешних файлов в ваше определение конвейера с использованием ключевого слова include эти файлы запрашиваются через HTTP/HTTPS.

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

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

(ULTIMATE, GOLD)

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

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

Filter vulnerabilities in the Group Security Dashboard

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

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

(ULTIMATE, GOLD)

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

7 результаты сканирования зависимостей были добавлены в набор доступных данных. С GitLab 11. Шаблон Auto DevOps также был обновлен, и теперь для него требуется GitLab Runner версии 11. Если вы уже используете новый синтаксис отчетов, вы автоматически увидите результаты на панели безопасности. 5 или выше для правильного запуска работы сканирования зависимостей.

Show Dependency Scanning results in the Group Security Dashboard

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

Включение файлов CI/CD из других проектов и шаблонов

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

Ранее это было возможно только для файлов в репозитории проекта или для удаленных файлов, загружаемых по HTTP. Ключевое слово include позволяет пользователям динамически создавать конвейеры CI/CD с включением внешних файлов в конфигурацию.

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

Include CI/CD files from other projects and templates

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

Режим RBAC по умолчанию при создании кластера Kubernetes

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

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

7, все кластеры по умолчанию будут поддерживать RBAC во время создания, обеспечивая более безопасную и защищенную инфраструктуру. Начиная с GitLab 11.

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

Поддержка приватных пакетов Go в подгруппах

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

Начиная с GitLab 11. Пакеты Go, размещенные на GitLab, могут быть установлены с помощью команды go get, однако ранее это не поддерживалось для приватных проектов в подгруппах. 7, любой проект можно использовать в качестве пакета Go, включая приватные проекты в подгруппах.

Приватные пакеты поддерживаются командой go get с использованием файла .netrc и личного токена доступа в поле password.

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

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

Поддержка метрик NGINX Ingress 0.16.0+

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

16. С релизом NGINX Ingress 0. 0, метрики Prometheus теперь встраиваются нативным образом, а не полагаются на внешние иструменты экспорта.

7 теперь включает поддержку метрик, экспортируемых из NGINX Ingress 0. GitLab 11. 0+, и автоматически обнаруживает и отображает пропускную способность, задержку и частоту ошибок развертывания. 16.

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

Пропуск сборок CI во время git push

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

Однако многие пользователи не хотят или не могут изменить свои описания коммитов для добавления дополнительной информации. Когда пользователи не хотели запускать конвейер CI/CD для некоторого коммита, они могли добавить специальное примечание [ci skip] или [skip ci] в описание коммита.

7 при использовании Git версии 2. Начиная с GitLab 11. Теперь можно использовать git push -o ci.skip, чтобы достичь той же цели, не изменяя описание коммита. 10 и выше, пользователи могут задействовать настройки Git push, чтобы предотвратить запуск конвейера при отправке коммита на GitLab.

Спасибо Jonathon Reinhart за эту фичу!

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

GitLab Runner 11.7

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

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

Самые важные изменения:

Список всех изменений можно найти в CHANGELOG GitLab Runner'а.

Документация по GitLab Runner.

7 shipped with Releases, Multi-level Child Epics, and NPM Registry. Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 11.

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


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Такая боль, такая боль, сервис на аутсорсе 1:0

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

Типовые ошибки пассажиров железных дорог и авиалиний

Мы вторая линия поддержки пассажиров. Привет! Я очень хочу рассказать, что может пойти не так, так как очень надеюсь, что это спасёт чьи-то нервы. Каждый день мы обрабатываем сотни ошибок в билетах. По крайней мере, мы постоянно сталкиваемся с проблемами ...