Вышел GitLab 9.5: Верификация коммитов GPG и шаблоны проектов

в 7:10, , рубрики: analysis, continuous delivery, continuous deployment, continuous integration, elasticsearch, Git, gitlab, kubernetes, open source, performance, Блог компании Softmart, системы сборки, Системы управления версиями

image

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

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

Этот релиз станет последним для версий 9.х: выпуск GitLab 10.0 запланирован на 22 сентября! А пока что мы представляем набор отличных новых фич в завершение девятой серии.

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

Начало работы над новым проектом стало быстрее. В GitLab 9.5 мы представляем шаблоны проектов, при помощи которых вы сможете быстро создавать новые проекты с преднастроенным CI.

Продолжая работу над сокращением времени разработки мы сделали возможным автоповтор неудавшихся работ GitLab CI/CD. Вам больше не нужно тратить время на возвращение в конвейеры проекта лишь для того чтобы нажать “retry” для неудавшейся работы.

Также в GitLab 9.5 входят улучшения для более поздних стадий цикла разработки. С добавлением автоматического мониторинга для приложений с автоматическим развертыванием мы упростили сбор фидбека и системных метрик ваших приложений.

И последнее, но не в последнюю очередь: мы добавили множество улучшений производительности — GitLab стал быстрым, как никогда!

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

GitLab MVP badge

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

Alexis добавил в GitLab верификацию подписанных коммитов. Теперь у всех коммитов с подписью GPG будет отображаться статус их верификации рядом с автором коммита.

Замечательное нововведение, нам всем оно очень нравится! Спасибо, Alexis!

Верификация коммитов GPG (CE, EES, EEP)

При коммите изменений в Git есть возможность указать их автора. Проверка при этом не производится, что допускает ситуацию, в которой автором можно указать другого человека.

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

В GitLab 9.5 включена поддержка подписей коммитов GPG. Вы можете загрузить ваш публичный ключ в меню Settings → GPG Keys. Теперь подписанные коммиты будут отображаться в GitLab как «подтвержденные».

Спасибо Alexis Reigel за внедрение этой функциональности!

GPG Commit Verification

Больше информации о подписях коммитов GPG в нашей документации

Новые улучшения навигации (CE, EES, EEP)

В Gitlab 9.4 мы представили превью нашей обновленной навигации, упрощающей перемещение по GitLab.

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

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

Если вы еще не пробовали работать с новой навигацией, нажмите на иконку вашего профиля в правом верхнем углу и выберите Turn on new navigation.

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

Больше информации об обновлении навигации в нашей документации

New Navigation Improvements

Шаблоны проектов (CE, EES, EEP)

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

В GitLab 9.5 мы поддерживаем одни из самых популярных сред разработки: Ruby on Rails, Node Express и Java Spring.

Больше информации о шаблонах проектов в нашей документации

Project Templates

Автоповтор неудавшихся работ CI (CE, EES, EEP)

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

Для автоматизации этого процесса в GitLab 9.5 вы можете объявить ключевое слово retry в файле .gitlab-ci.yml. В этом случае GitLab CI/CD будет проводить повторный запуск этой работы соответствующее количество раз перед тем, как пометить ее неудавшейся.

Больше информации об автоповторе неудавшихся работ в нашей документации

Automatic Retry for Failed CI Jobs

Автоматический мониторинг приложений с автоматическим развертыванием (CE, EES, EEP)

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

В GitLab 9.5 мы еще больше упрощаем отслеживание этих метрик для приложений с автоматическим развертыванием. Если вы проводили развертывание GitLab с использованием Helm-чарта GitLab-Omnibus, то никакой дополнительной настройки вообще не нужно! Для остальных методов установки просто убедитесь, что Prometheus проводит мониторинг NGINX Ingress.

Больше информации о мониторинге приложений с автоматическим развертыванием в нашей документации

Automatically Monitor Auto Deployed Apps

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

Автоматический обход отказа Postgres HA (бета-версия) (EEP)

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

В GitLab 9.4 мы выпустили бета-версию Postgres High Availability с обходом отказа (failover) вручную, что уменьшило вред, вызваемый падением базы данных, а также уменьшило время ее восстановления. В GitLab 9.5 мы продолжили развитие в этом направлении: появился автоматический обход отказа нода базы данных. Теперь благодаря этому GitLab может восстанавливаться после падения сервера базы данных без внешнего вмешательства, не влияя на рабочий процесс компании и не тревожа разработчиков понапрасну. Мы продолжим работы по улучшению GitLab High Availability в последующих релизах.

Больше информации о Postgres HA в нашей документации

Переменная CI_JOB_TOKEN для интерфейса артефактов (EEP)

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

В GitLab 9.5 для этого можно использовать переменную $CI_JOB_TOKEN, доступную автоматически для любой работы, с помощью следующего синтаксиса в файле .gitlab-ci.yml:

curl --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/master/download?job=test"

Больше информации об использовании CI_JOB_TOKEN для получения артефактов в нашей документации

Интерфейс секретных переменных группового уровня (CE, EES, EEP)

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

Больше информации об интерфейсе секретных переменных группового уровня в нашей документации

Улучшение проверок безопасности для конвейеров на защищенных ветках (CE, EES, EEP)

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

Больше информации о модели безопасности GitLab CI/CD в нашей документации

Виджет мерж-реквеста теперь ссылается на репозиторий (CE, EES, EEP)

Ранее исходная ветка мерж-реквеста в виджете предоставляла ссылку на страницу коммитов. Теперь она ведет на страницу репозитория файлов этой ветки. Это небольшое изменение приносит много пользы: теперь вы можете мгновенно просмотреть все изменения в ветке и проводить дальнейшие коммиты напрямую из интерфейса файловой системы. Коммиты исходной ветки по прежнему легко доступны из вкладки Commits мерж-реквеста.

MR Widget Links to Repository

Больше информации о мерж-реквестах в нашей документации

Интерфейс групповых майлстоунов (CE, EES, EEP)

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

Больше информации об интерфейсе групповых майлстоунов в нашей документации

Упрощение интеграции с JIRA (CE, EES, EEP)

Ранее для настройки интеграции с JIRA вам нужно было вводить ключ проекта JIRA. Это сбивало с толку, поскольку подразумевалось, что на один проект GitLab — один проект JIRA. Вместо этого всегда получалось, что на один проект GitLab приходится один инстанс JIRA (и, таким образом, и все проекты JIRA, которые входят в этот инстанс). Мы убрали ключ проекта JIRA со страницы настроек, чтобы упростить эту интеграцию.

Streamline JIRA Integration

Подробнее в документации об интеграции с JIRA

Пулл зеркалированного репозитория через SSH (EES, EEP)

Зеркалирование репозитория — отличный способ обновить весь код, ветки, теги и коммиты из исходного репозитория.

В GitLab 9.5 вы сможете пуллить изменения в ваши репозитории по SSH, позволяя использовать ключи развертывания при зеркалировании репозитория.

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

Подробнее об аутентификации по SSH для зеркалирования репозиториев читайте в нашей документации

URI ресурсов в API (CE, EES, EEP)

В GitLab 9.5 мы на шаг продвинулись в улучшении навигации V4 API.

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

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

Читайте документацию о проектном API

GitLab Runner 9.5 (CE, EES, EEP)

Также в этом релизе мы выпускаем GitLab Runner 9.5.

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

  • Добавили поддержку хранилища полномочий (мерж-реквест)
  • Добавили поддержку опции Docker sysctl для Docker executor (мерж-реквест)
  • Уменьшили размер бинарного файла, удалив символы отладки (мерж-реквест)
  • Исправили поведение при ошибке во время загрузки артефактов (мерж-реквест)

Полный список изменений вы найдете в CHANGELOG GitLab Runner.

Читайте документацию о GitLab Runner

Технические статьи (CE, EES, EEP)

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

В этом месяце мы рады представить два отличных новых туториала:

Хотите присоединиться? Мы только рады! Посмотрите нашу программу писателей сообщества и подключайтесь! :)

Посмотрите наши технические статьи

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

Merge Request Diff File Navigation

Документация о мерж-реквестах

Поддержка переменных для конвейеров, запускающихся с CI_JOB_TOKEN (EEP)

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

Больше информации о передаче переменных триггерам конвейера читайте в наше й документации

Переключатель секретности задачи (CE, EES, EEP)

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

Confidential Issue Toggle

Читайте документацию о секретных задачах

Поиск на странице групповых задач (CE, EES, EEP)

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

Search Bar for Group Issues Page

Подробнее в документации о поиске по GitLab

Быстрые действия с групповыми майлстоунами (CE, EES, EEP)

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

Group Milestones Quick Action

Узнайте подробности в документации о быстрых действиях

Новая задача на основе выбранного ранее проекта (CE, EES, EEP)

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

New Issue Based on Pre-selected Project

Документация о создании новых задач

«Удаление исходной ветки» по умолчанию отключено (CE, EES, EEP)

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

«Remove Source Branch» Disabled by Default

Читайте документацию о мерж-реквестах

GitLab Mattermost 4.1 (CE, EES, EEP)

В GitLab 9.5 включен Mattermost 4.1, альтернатива Slack с открытым исходным кодом. Новый релиз Mattermost упрощает обеспечение интеграций с помощью токенов персонального доступа и многое другое.

Эта версия включает обновления безопасности. Рекомендуем обновиться.

Подробности в документации по GitLab Mattermost

Улучшения GitLab Geo (EEP)

Значимые изменения:

Подробнее в документации о GitLab Geo

Улучшения Omnibus (CE, EES, EEP)

Читайте документацию по Omnibus GitLab


Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте.

Автор: aionin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js