[Перевод] Новая версия GitLab 8.9

Этот текст — перевод релизного поста из блога ГитЛаба. Перевод подготовлен компанией Softmart. Мы понимаем, что наш перевод далек от идеала, но считаем что даже такой перевод будут полезен многим, кто не владеет английским языком в достаточной мере. Иван Немытченко (@nem) — евангелист ГитЛаба по мере возможности редактирует текст. Если вы готовы предложить свою помощь в переводе статей, будем только рады. Спасибо за понимание!

С GitLab 8.9 комфортнее работать в больших сложных проектах. Блокировка файлов, назначение приоритетов меткам, гибкие настройки уровня вовлеченности в проект, и возможность запретить объединение веток (merge) до момента, пока билд не выполнится успешно. В GitLab CI теперь можно указывать среды (production, staging, и т.д.) и задавать срок хранения артефактов. Появились шаблоны настроек CI, так что начать им пользоваться теперь еще проще.

Персона месяца (MVP) — Руи Сантос. Он разработал возможность ограничивать обьединение веток до прохождения билда. Спасибо Руи!

С версии 8.8.0 добавилось 1761 коммитов, 1947 файла были изменены. Что конкретно изменилось — смотрите ниже.

Блокировка файлов (опция EE)

Репозиторий Git позволяет хранить не текстовые файлы (бинарные, например), но не может управлять изменениями в них — нельзя сравнить версии файла, нельзя объединить изменения из разных версий файла и т.д. Если допустить редактирование файла одновременно нескольким членам команды, то потом потребуется масса времени на ручное устранение конфликтов версий.

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

2508d9c7e9fa4b83a2f27a951c7f3321.png

Найти список всех заблокированных файлов в репозитории:

3e7ae0a40c5b4f1b8e93b2b926ccfa62.png

Функция блокирования файлов доступна только в редакции Enterprise Edition и на GitLab.com. Мы приветствуем ваши дополнительные предложения для расширения этой функциональности.

Среды и Развертывание в CI

В предыдущей версии GitLab появилось понятие среду развертывания:  среда тестирования, среда приемки и среда промышленной эксплуатации. GitLab CI позволяет настроить последовательности развертывания (цепочки переходов между средами), по в рамках которых исполнятся задачи доставки и установки изменений.
 
В новой версии 8.9 Вы можете добавить дополнительные Среды в конфигурационном файле CI  проекта (.gitlab-ci.yml). Это позволит настроить конфигурацию GitLab максимально близко к фактическому окружению проекта и наглядно отслеживать динамику развертывания в этих средах.
 
b76af13c8d7c4571aaf6b0319843a387.png
4fba7bdb4ba24e828d5ae0ea62b90b54.png

Метки с приоритетом

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

fead3437f1be4ded9f4d227853ef91c8.png

Метка с приоритетом — такая же текстовая метка, но с указанием приоритета, который влияет на сортировку объектов, которым эта метка присвоена. 

Например, самым высоким приоритетом для GitLab является P1. Если отсортировать дефекты по приоритету, то сверху отобразятся дефекты с P1, затем с P2 и т.д. Помечая метку «Безопасность» высоким приоритетом P1, дефекты, относящиеся к этой категории,  автоматически получат максимальный приоритет.
 

Пользовательский тип уведомлений

Чтобы быть в курсе важных для Вас событий, мы добавили новый тип уведомлений — пользовательский.
В предыдущих версиях GitLab можно было настроить уведомления Участника (participating level), т.е.  подписаться на события в объектах, в которых Вы участвуете, или в которых Вы упомянуты. 
В новой версии 8.9 Gitlab позволяет настроить уведомления по другому принципу — отметить интересующие типы событий (новое примечание, новый дефект, закрытие дефекта, новый запрос на объединение, переназначение дефекта и т.д.)

b928cdaa7120465da8091987e32ab8e8.png

Запрос доступа к проекту

2b347e9d1d464a69b016faf1dcf45bb4.png
Связь с владельцами проектов теперь доступна с домашней страницы проекта. Если вам нужен доступ к проекту, обратись к владельцу проекта, не выходя из GitLab. Запросы отображаются в секции участников проекта. Владельцу проекта отправляется уведомление.
212bb7c3f97944e28bb81cacb4a0e276.png

Шаблоны gitlab-ci.yml

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

Изменения в навигации пользовательского интерфейса

923dfc7a5a524c53bb34fb830da9ca7d.png
Базовая навигация по элементам проектов осуществляется с помощью верхней панели. Страницы, которые формируются специально для текущего пользователя ( дефекты, группы, активность и т.д.) теперь перенесены в новую боковую всплывающую панель.
86356a8b700247e0b0e661d5daf17c1b.gif

Поддержка Универсальной 2-факторной аутентификации

GitLab теперь поддерживает стандарт универсальной 2-факторной аутентификации (u2f). Это означает, что вы можете использовать U2F ключи безопасности на Yubico, известного как YubiKeys,  в качестве 2-го фактора при входе в GitLab.
 
Подробнее о поддержке u2f в нашем блоге и документации по 2-факторной аутентификации в GitLab.

Импорт / Экспорт проектов

Если у Вас несколько экземпляров GitLab, или Вам необходима резервная копия репозитория, то теперь Вы можете импортировать и экспортировать проекты целиком.
bd73f540453d446188675bb8a8780611.png
Перейдите на страницу настроек проекта, чтобы экспортировать Ваш проект. Импорт проекта можно сделать из новой страницы проекта.
ca98a469292a48b1ad083fc7e17b9b96.png

Запрет объединения веток до успешной сборки

В новой версии у Вас есть возможность запретить объединение веток (merge) до момента, пока билд не выполнится успешно, Благодаря Руи Сантос.

c6abf76256af40d9ad3e554eacf176aa.png

Другие изменения

Подробнее об остальных изменениях можно ознакомиться в Changelog. Ниже приведены только наиболее значимые.

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

GitLab 8.9 включает в себя первый релиз Rouge с сентября (!) с поддержкой более чем 20 новых языков, а также поддержкой новых возможностей Swift, Ruby, Python и C / C ++, а также некоторых критических исправлений ошибок для Apache, JavaScript, Objective — C и Groovy.

Award Emoji в комментариях

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

Ручное добавление Todos

Каждый дефект и запрос на объединение теперь может быть помечен как «Todo» или «Done».
6b5b50983b844ba4ade952e4c86dde60.png

Массовое присвоение меток

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

Срок действия артефактов

Если Вы используете артефакты в GitLab, встроенных в CI, у Вас может накопиться большой архив старых данных. Теперь вы можете указывать срок действия артефактов путем добавления строки expire_in в свой. gitlab-ci.yml файл. Артефакты будут считаться устаревшими, после указанного периода времени.

Вы можете по-разному указывать срок действия:

3 минуты 4 секунды
2 ч 20 мин
2ч20 мин
6 мес 1 день
47 лет 6 мес и 4д
3 недели и 2 дня

Примечание: эта функция требует Runner 1.3, выпущенный одновременно с GitLab 8.9

Ключевое слово » Когда» для Артефактов

Теперь Вы можете иметь артефакты только на провал, успех или на все события.

Поведение по умолчанию такое же, как и раньше, создание артефактов только «на успех».

Примечание: эта функция требует Runner 1.3, выпущенный одновременно с GitLab 8.9

Поддержка Docker реестра Manifest V1

GitLab 8.9 добавляет поддержку Manifest V1, порожденного старыми версиями Docker (до 1.10)

GitLab Mattermost 3.1

Mattermost 3.1 отгружается в GitLab 8.9 с мульти-командными аккаунтами, переводом японского языка, Apple Watch, с модернизированными уведомлениями, новыми горячими клавишами и переключателем каналов, новыми вариантами отображения, новыми смайликами, плюс обновление для системы безопасности и многие другие улучшения.

Обновление требует ручных операций! Перед обновлением обязательно прочитайте документацию для обновления с версий до 8.9

Комментарии (1)

  • 11 июля 2016 в 20:59

    0

    Как морда для GIT — Гитлаб очень неплох, хотя и несколько тяжеловесен.

    Но вот как трекер — довольно убог. Поиск по тикетам работает криво, непонятно что где ищется, и ещё в этой версии 8.9 навигацию переделали так, что без 100 грамм не разберёшься.

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

© Habrahabr.ru