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

Автор оригинала: GitLab
  • Перевод

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


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


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.

Поделиться публикацией

Комментарии 10

    +4

    Кучу бесполезных свистоперделок добавили, а ручной запуск CI тасков с параметрами как в дженкинсе все никак сделать не могут :(
    Не у всех пайплайн заточен на "запушил->собралось->тесты->k8s"

      0
      Ну там есть возможность запустить пайплайн вручную, и передать ему variables. Но не так удобно как в дженкинсе конечно, но хоть что-то.
      Меня больше раздражает, что только один пайплайн на проект и если надо сделать что-то сложнее чем вышеописаннаый пайп, то .gitlab-ci.yml начинает выглядеть ужасно и не читаемо.
      Очень жду когда сделают фильтр и сортировку энвов, и когда спрячут пустые энвы в этом списке.
        0
        include и anchor'ы пробовали? Очень помогают
          0
          Согласен, помогают сделать компактней. Но логику описания они к сожалению не упрощают. Логика в c only:variables, except:variables — вооще отдельная песня.
          В целом, гитлаб растет и развивается, это хорошо. Но его CI/CD далеко не дженкинс, его issue tracker — далеко не жира :)
          0
          Можно несколько костыльно, но через Schedules настроить и внести все переменные, которые нужны. И потом использовать когда надо.
            0
            даешь статью про это!!!
            Больше интересных применений стандартных возможностей!
        0
        Наконец то релизы как в гитхабе — с артефактами.
          0
          Артефакты только через API, а библиотек под это нет. Не то чтобы это неудобно, но руками curl дёргать и парсить вывод то ещё удовольствие. Молчу уже о том, что релизы автоматом создаются на tag, что тоже не всегда правильно. Мне нравится Gitlab, больше чем github, но эта фича одно расстройство.
            0
            Я думаю, что это дело времени. Та же автоматизация gitlab'а через ansible-модули уже существует. Утилиты python, которые оборачивают API, тоже уже есть. Остается только немного подождать. Или написать самому, кстати.
            Еще обидно, что сами разрабы не считают нужным делать такие тулинги. Ну, оно и понятно — они все-таки пишут на руби, т.е. новый язык сложно осилить. Да и задачи такой нет. Им важнее припиливать фичи в основной продукт… А там еще работы на сотни человеколет вперед.
          0
          Ну, и в чем разница с habr.com/ru/company/southbridge/blog/437432?

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

          Самое читаемое