Выпущен GitLab 11.3 с репозиторием Maven и secure environments +8


В GitLab 11.3 поддерживаются репозитории Maven, code owners, secure environments и epic-прогнозирование. Эти функции помогают автоматизировать средства управления средой и кодом, обеспечивая при этом дополнительную эффективность для разработчиков Java.
image


Репозиторий Maven


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


Code owners и secure environments


Теперь GitLab Core поддерживает назначение code owners в файлы, чтобы указать соответствующих членов команды, ответственных за код. Эта функция подготавливает нас к будущим выпускам, в которых будут применяться внутренние элементы управления на уровне кода.
Доступные в GitLab Premium операторы также могут использовать secure environments для установки разрешений, определяющих, кто может развернуть код в производственных средах. Это значительно снижает риск того, что не тот человек совершит то, что ему не следует делать, и повысит общую безопасность окружения.


Epic-прогнозирование


Новая функция управления портфелем в GitLab Ultimate может автоматически прогнозировать даты начала и окончания epic, основанные на контрольных датах его выпусков. Благодаря этому усовершенствованию менеджеры портфеля смогут сравнить свои запланированные даты начала и окончания с работой, которая запланирована через контрольные точки, чтобы получить представление о возможных сбоях в расписании epic. Это позволит быстрее и лучше принимать решения о том, что может быть выполнено, и когда необходимо скорректировать планы.


Каждый может внести свой вклад


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


Основные функции, выпущенные в GitLab 11.3


Репозиторий Maven


(доступно в версии: Premium, Ultimate, Silver, Gold)


Для любой организации-разработчика важно иметь простой и безопасный способ управления зависимостями. Инструменты управления пакетами, такие как разработчики Maven для Java, обеспечивают стандартизованный способ совместного использования и контроля версий этих библиотек в разных проектах.


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


Вот пример проекта, который выстраивает и синхронизирует данные из локального репозитория вверх к репозиторию GitLab Maven. Все просто!


imagehttps://about.gitlab.com/images/11_3/maven.png


Интерактивные веб-терминалы для Shell и раннеры Kubernetes


(доступно во всех версиях)


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


image


Улучшение includes в .gitlab-ci.yml для повторного использования скриптов


(доступно в версиях: Starter, Premium, Ultimate, Bronze, Silver, Gold)


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


image


Включить частные дополнения в граф дополнений пользователя


(доступно во всех версиях)


В GitLab мы любим открытый исходный код! Но бывает так, что вы работаете над частным проектом, которым — пока — не хотите делиться, или ограничены договором о конфиденциальности. В любом случае, GitLab вас прикроет.


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


image
Спасибо, Джордж Циолис, за ваш вклад!


Обзор обновленного проекта


(доступно во всех версиях)


Итерация на нашем пользовательском интерфейсе — это то, в чем мы постоянно стремимся к лучшему.


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


image


Secure environments


(доступно в версиях: Premium, Ultimate, Silver, Gold)


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


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


image


Code owners


(доступно в версиях: Starter, Premium, Ultimate, Bronze, Silver, Gold)


Обзор кода необходим в каждом успешном проекте, но кто следит за изменениями, не всегда ясно. Теперь GitLab поддерживает закрепление code owners за файлами, указывая членов команды, ответственных за код в вашем проекте.


Code owners назначаются с использованием файла CODEOWNERS, формата, аналогичного [gitattributes] (https://git-scm.com/docs/gitattributes), и перечисляются ниже сведений о фиксации. Их видно при просмотре файла в GitLab.


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


image


Epic-прогнозирование со интегрированными контрольными датами


(доступно в версиях: Ultimate, Gold)


До этого выпуска вы могли установить фиксированные значения для запланированной даты начала и запланированной даты окончания epic. Это полезно для высокоуровневого планирования и отслеживания epic. Однако, поскольку к epic прилагаются темы, и темы имеют реальные контрольные сроки, было бы полезно, чтобы даты epic отражали эти сроки.
С этой версией вы можете легко переключаться с фиксированного значения для любой из дат на динамическое значение, называемое From milestones. Для запланированной даты начала этого динамического значения будет использована самая ранняя дата начала всех этапов, связанных с темами epic. Оно действительно динамическое, поскольку будет изменяться, если темы добавляются или удаляются, если контрольные сроки назначены или сняты (для этих тем) или если даты начала этих этапов будут изменены. Аналогичной является динамическая версия запланированной даты окончания epic.


Полезная функция, если вы хотите плавно переходить от высокоуровневого нисходящего анализа к микроуровневому восходящему анализу. См. подробнее в посте о плане-графике epic, опубликованном несколько недель назад.


image


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


Настройка уведомлений об epic-событиях


(доступно в версиях: Ultimate, Gold)


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


image


Быстрое добавление темы к epic (из тем)


(доступно в версиях: Ultimate, Gold)


Добавление темы к epic (или удаление уже прикрепленной) легко выполняется непосредственно с epic-страницы. Это полезно, когда вы уже работаете в epic.


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


Кроме того, еще одно быстрое действие с темой позволит вам удалить ее из уже прикрепленного epic.


image


Разрешение самоподтверждения запросов на слияние


(доступно в версиях: Starter, Premium, Ultimate, Bronze, Silver, Gold)


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


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


Отображение языков репозитория в обзоре проекта


(доступно в версиях: Core, Starter, Premium, Ultimate, Free, Bronze, Silver, Gold)


Языки кода, из которых состоит репозиторий, являются значимой информацией при изучении проектов GitLab.


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


image


Пользовательские шаблоны файлов для самоуправляемых экземпляров


(доступно в версиях: Premium, Ultimate)


Шаблоны для файлов LICENSE, .gitignore, Dockerfile и .gitlab-ci.yml упрощают добавление этих общих файлов в проекты. Пользовательские шаблоны файлов теперь могут быть добавлены в самоуправляемые экземпляры GitLab путем выбора универсального шаблонного репозитория, содержащего ваши шаблоны.


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


Спасибо Даниэлю Баркеру за добавление пользовательских шаблонов лицензий.


Шаблоны файлов в Web IDE (веб-интегрированная среда разработки)


(доступно во всех версиях)


Шаблоны файлов для LICENSE, .gitignore, Dockerfile и .gitlab-ci.yml дают возможность легко добавить данные общие файлы в проект, а сейчас их можно использовать в Web IDE. Шаблоны файлов в Web IDE облегчают возможность создания нового проекта в Web IDE, а также помогают поддерживать эти важные файлы в актуальном состоянии.


image


Задание названия проекта при создании нового проекта


(доступно во всех версиях)


Чтобы добавить наименование проекта во вновь созданный проект GitLab, ранее необходимо было зайти в настройки проекта и перезаписать название проекта в формате, который может быть обработан в формате URL.


В версии GitLab 11.3 мы добавили поле «Название проекта» в форму «Создать проект». Вдобавок название проекта в URL-совместимом формате в новой версии генерируется автоматически из названия проекта, при этом возможность редактирования данного поля у вас сохраняется. Данное улучшение ускоряет и упрощает процесс создания нового проекта.


image


Хранение Wiki-загрузок в Wiki-репозитории


(доступно во всех версиях)


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


Поддержка SAST для Groovy


(доступно в версиях: Ultimate, Gold)


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


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


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


(доступно во всех версиях)


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


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


image


Оповещения для метрик библиотеки (library metrics)


(доступно в версиях: Ultimate, Gold)


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


В версии GitLab 11.3 мы расширили поддержку оповещений для всех метрик, включая метрики, которые по умолчанию предоставляются вместе с метриками нашей библиотеки.


image


Auto DevOps включен по умолчанию


(доступно во всех версиях)


Auto DevOps был предоставлен для общего доступа в версии GitLab 11.0 и, хотя это было значительным улучшением, мы хотели бы предоставить всем пользователям GitLab возможность использовать эти прекрасные функции. Auto DevOps предоставляют важные преимущества непосредственно в «коробочной» версии, от функции Auto Build до Auto Monitoring.
Начиная с версии GitLab 11.3, Auto DevOps будут включены по умолчанию как на сайте GitLab.com, так и на исполняющих копиях программы под самостоятельным управлением, с тем, чтобы для каждого проекта можно было воспользоваться данными функциями.


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


image


Усовершенствование функции Geo


(доступно в версиях: Premium, Ultimate)


Мы непрерывно уделяем внимание улучшению функции Geo для распределенных рабочих групп. Некоторые заметные улучшения версии GitLab 11.3 включают:



Автоматическое отключение Auto DevOps для проекта при первом отказе конвейера


(доступно во всех версиях)


Компания GitLab считает одной из ключевых ценностей продукта состояние «по умолчанию во включенном состоянии». Когда мы представляем новую функцию с возможностью конфигурации, которую мы считаем большой ценностью, мы по умолчанию устанавливаем ее в состоянии ВКЛЮЧЕНО, чтобы все могли воспользоваться ее преимуществами. Несмотря на то, что Auto DevOps поддерживает проекты, использующие самые популярные языки программирования, для некоторых специализированных проектов может потребоваться дополнительная конфигурация.


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


image


Gitaly v1.0


(доступно во всех версиях)


Доступ для регулярного использования GitLab сейчас может полностью осуществляться через Gitaly, сервис gRPC (система удаленного вызова с открытым исходным кодом) для доступа к Git. Это означает возможность запуска Gitaly на своем собственном сервере без NFS (сетевой файловой системы) при включении всех функций по выбору (путем выбора соответствующих флажков).


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


GitLab Runner 11.3


(доступно во всех версиях)


Также сегодня мы выпускаем версию GitLab Runner 11.3! GitLab Runner – это проект с открытым кодом, который используется для выполнения заданий CI/CD и отправки результатов обратно в GitLab.


Ниже представлены наиболее интересные изменения:



Со списком всех изменений можно ознакомиться в разделе CHANGELOG программы GitLab Runner.


Доступен список всех программных компонентов с открытым кодом, используемых GitLab


(доступно во всех версиях)


Начиная с версии GitLab 11.3, мы упростили доступ к списку всех программных компонентов с открытым кодом, используемых GitLab. Ранее он был доступен в каждом из наших пакетов для ОС Linux, но, чтобы его получить, необходимо было загрузить и распаковать содержимое.
Сейчас мы опубликовали данную информацию онлайн, так что теперь проще получить к ней доступ и дать на нее ссылку. Данный список доступен для GitLab CE и GitLab EE.


Улучшения общего характера


(доступно в версиях: Core, Starter, Premium, Ultimate)


  • Версия GitLab 11.3 включает Mattermost 5.2, альтернативу Slack с открытым кодом, которая предоставляет обновленную систему плагинов, возможность поиска по архивированным каналам, поддержку румынского языка и многое другое. Поскольку данная версия включает обновления для системы безопасности, рекомендуется ее установить.
  • gitlab-elasticsearch-indexer был обновлен до версии 0.2.2.
  • omnibus-ctl был обновлен до версии 0.6.0.
  • Установки Redis tcp_backlog и HZ, а также max_concurrency в sidekiq_cluster сейчас имеют изменяемую конфигурацию.
  • Максимальный объем памяти, который Sidekiq может использовать по умолчанию, составляет 2Гб.
  • Сжатие SSL было отключено по умолчанию для gitlab-psql и gitlab-geo-psql.

Улучшение производительности


(доступно во всех версиях)


Некоторые заметные улучшения версии GitLab 11.3 включают:



Прекращение поддержки


Поддержка версий Docker в GitLab Runner


В версии GitLab 11.4 (которая будет выпущена 22 октября 2018 года), в соответствии с последними рекомендациями Docker, не рекомендуется использовать версии до 1.12 (версия API 1.24). После версии 11.4 данные старые версии более не будут поддерживаться официально и могут перестать работать в любое время.
Дата удаления: 22 октября 2018 года


Индикатор обновлений


Для обновления до версии GitLab 11.3 с последней версии 11.2 не требуется даунтайм. Чтобы провести обновление без даунтайма, пожалуйста, посмотрите документацию "Обновление без даунтайма".
В данной версии происходят миграции файлов и данных, а также миграции после развертывания новой версии, и, чтобы помочь при больших миграциях, мы ввели фоновые миграции.
Миграции на сайте GitLab.com занимают примерно девять минут, а миграции после развертывания новой версии занимают в общей сложности примерно 15 минут. С другой стороны, фоновый переход на новые версии – это задачи Sidekiq (планировщик рабочих мест с открытым исходным кодом), выполняемые синхронно. По нашим ожиданиями, для данной версии переход на сайте GitLab.com должен занять примерно 90 дней. В результате перехода вся встроенная рабочая информация переводится в новый формат.
Просим всех пользователей GitLab Geo обратиться за разъяснениями к документации по обновлению Geo.


Журнал изменений


Просим проверить журнал изменений, чтобы увидеть в нем все указанные изменения:



Установка


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


Обновление


Просим проверить нашу страницу обновлений.


Планы подписки GitLab


Вы можете подписаться на GitLab в вариантах с самостоятельным управлением и облачном варианте SaaS (когда поставщики размещают программное обеспечение и базовую инфраструктуру и управляют ими, а также занимаются всем обслуживанием, включая обновление программного обеспечения и установку исправлений безопасности).
Самостоятельное управление: Размещение на ваших мощностях или на предпочитаемой облачной платформе.


  • Core: Для небольших рабочих групп, индивидуальных проектов или пробного использования GitLab на неограниченный срок.
  • Starter: Для рабочих групп с общим местом расположения, небольшим количеством проектов и необходимостью профессиональной поддержки.
  • Premium: Для распределенных рабочих групп, которым необходимы продвинутые функции, высокая доступность и круглосуточная поддержка.
  • Ultimate: Для предприятий, которым необходима стратегия и работоспособность, а также повышенный уровень безопасности и соответствия требованиям.
    Облачные SaaS версииGitLab.com: хостинг, управление и администрирование осуществляются на условиях бесплатной и платной подписки для отдельных пользователей и рабочих групп.
  • Free: Неограниченные частные репозитории и неограниченное количество участников проекта. Частные проекты получают доступ к функциям Free версии, общественные проекты получают доступ к функциям Gold версии.
  • Bronze: Для рабочих групп, которым необходим доступ к продвинутым рабочим функциям.
  • Silver: Для рабочих групп, которым необходимы более надежные функции интеграции разработки и эксплуатации, соответствия требованиям и более оперативная поддержка.
  • Gold: Идеально подходит для многих задач CI/CD. Каждый общественный проект получает функции Gold версии независимо от плана подписки.




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