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


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


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


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


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


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


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


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


И даже больше


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


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


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


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



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


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


GitLab MVP badge


MVP этого месяца — MortyChoi


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


Основные фичи релиза 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 может обнаружить различные типы уязвимостей в ваших приложениях и предложить возможные способы их устранения.


Начиная с релиза GitLab 11.7, вы можете скачать патч-файл и применить его к вашему репозиторию с помощью команды git apply. Затем отправьте изменения в репозиторий, и панель безопасности подтвердит, что уязвимость закрыта. Это упрощает процесс решения подобных проблем и сокращает время, необходимое для применения решения. На данный момент сканирование зависимостей сообщает об известных уязвимостях в проектах на 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)


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


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


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


NPM registry


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


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


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


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


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, поэтому мы стараемся улучшить внешний вид списков проектов и упростить работу с ними.


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


Project list redesign


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


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


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


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


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


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


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


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


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


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


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


Import issues CSV


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


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


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


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


Short commit SHA available as environment variable


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


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


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


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


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


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


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


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


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


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


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


(ULTIMATE, GOLD)


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


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


Filter vulnerabilities in the Group Security Dashboard


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


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


(ULTIMATE, GOLD)


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


С GitLab 11.7 результаты сканирования зависимостей были добавлены в набор доступных данных. Если вы уже используете новый синтаксис отчетов, вы автоматически увидите результаты на панели безопасности. Шаблон 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)


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


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


Include CI/CD files from other projects and templates


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


GitLab Runner 11.7


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


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


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


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


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




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


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




К сожалению, не доступен сервер mySQL