С новым релизом GitLab 11.3 мы рады представить вам поддержку репозиториев Maven, владельцев кода (Code Owners), защищенные окружения и прогнозы для эпиков. Все это поможет автоматизировать управление окружениями и кодом, что позволит разработчикам на Java быть еще эффективнее. Мы расширили нашу поддержку проектов на Java, встроив репозитории Maven напрямую в GitLab. Разработчики на Java оценят безопасный и стандартизованный способ связать библиотеки Maven с системой контроля версий и смогут экономить время, за счет переиспользования этих библиотек в других проектах. Эта фича доступна с GitLab Premium. В платных планах начиная с GitLab Starter появилась возможность назначить файлу владельцев кода, указав членов команды, ответственных за эту часть кода. Это — подготовка для будущих релизов, где будет усилен внутренний контроль над уровнем кода. Начиная с GitLab Premium операторы (ответственные за деплой) также могут использовать защищенные окружения для настройки разрешений, определяющих, кто может деплоить код в продакшн. Это значительно снизит риск того, что кто-то отправит код, который не следовало добавлять. И в принципе повысит безопасность окружения. В GitLab Ultimate появилось Управление Портфолио (Portfolio Management), что позволит автоматически предсказать даты начала и завершения эпика, основываясь на сроках задач в майлстоунах. Благодаря этому нововведению управляющие портфолио смогут сопоставлять планируемые даты начала и завершения с работой, запланированной на майлстоуны, получая представление о потенциальных отставаниях в рамках эпика. Это позволит быстрее принимать решения о том, что вы успеете доделать, и когда стоит корректировать планы. Многие из этих изменений были внесены огромным сообществом GitLab. Мы с нетерпением ждем от вас обратную связь и улучшения для этих новых фич. Вместе мы классная команда! Дайте нам знать, что вы думаете, в комментариях к статье в блоге — и на Хабре тоже. Чего вы ждете от этого релиза? Над чем нам стоит продолжать работу? Приглашаем на наши встречи и на вебкаст релиза 11.3.  George добавил очень популярную фичу, которую просили добавить многие: теперь пользователи могут включать свои приватные вклады в разработку в график на странице профиля. Спасибо, George, за постоянные вклады в улучшение GitLab, скоро ты получишь крутой набор мерча! (PREMIUM, ULTIMATE, SILVER, GOLD) Для компаний, занимающихся разработкой ПО, очень важно иметь простой и безопасный способ управлять зависимостями. Инструменты для управления пакетами, такие как Maven для разработчиков на Java, предоставляют стандартизованный способ распространять библиотеки и управлять их версиями среди проектов. В релизе 11.3 мы рады предоставить поддержку репозиториев Maven, встроенную напрямую в GitLab. Разработчики низкоуровневых сервисов теперь могут публиковать свои библиотеки в Maven-репозиторий проекта. Им останется только поделиться простым XML-сниппетом с другими командами, которые хотят использовать эту библиотеку, и Maven с GitLab сделают все остальное. Взгляните на тестовый проект, который пушит сборку в Maven-репозиторий GitLab, и вы увидите, как это просто!  Документация по использованию Maven-репозитория GitLab и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) CI/CD работы выполняются Runner'ами, так, как пользователи настроят в конвейере. Но этим процессом нельзя управлять, и если работа завершится с ошибкой, пользователи не смогут разобраться с деталями и определить предполагаемый источник проблемы. Интерактивные веб-терминалы позволяют подсоединяться к выполняемой или завершенной работе и вручную запускать команды, помогая лучше понять, что же происходит в системе.  Документация по интерактивным веб-терминалам и оригинальный тикет. (STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD) Переиспользование кода процесса CI/CD — это прекрасная практика, которая помогает делать поставку ПО однородной, писать и поддерживать меньше кода для каждой отдельной работы. Мы предлагаем гибкий и мощный способ переиспользовать код в шаблонах YAML с помощью ключевого слова extends.  Документация по блоку extends и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Мы в GitLab любим ПО с открытым исходным кодом. Но иногда приходится работать над приватным проектом, который вы (пока) не готовы открыть публике. Или вы можете быть ограничены по причинам конфиденциальности. В любом случае GitLab на вашей стороне. В этом релизе мы представляем возможность включать приватные вклады в разработку в график вкладов на вашей странице. Если вы включили эту настройку для вашего профиля, в графике вкладов и во вкладах дня будут также отображаться вклады в приватные проекты. Таким образом, ваша активная работа над приватными проектами в GitLab будет точно представлена, при этом не выдавая никаких секретных подробностей. Спасибо George Tsiolis за эту фичу!  Документация по приватным вкладам в профиле и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) GitLab постоянно сохраняет фокус на улучшении интерфейса нашего продукта. Вместе с GitLab 11.3 мы обновляем UI страницы проекта для лучшего представления информации о проектах. Мы сделали информацию на этой странице более структурированной, а также выровняли верхнюю секцию по левому краю и оптимизировали отступы по вертикали, так что теперь вы сможете быстрее просмотреть информацию о проекте и его содержание.  Документация по проектам и оригинальный тикет. (PREMIUM, ULTIMATE, SILVER, GOLD) Операторы часто отвечают за защиту окружения, в которое мы ежедневно отправляем код; эта задача становится особенно важной при развертывании кода в продакшн. С защищенными окружениями оператор получает полный контроль над тем, какие пользователи, группы или аккаунты имеют разрешение на внедрение кода в данное окружение, что обеспечивает безопасность окружений.  Документация по защищенным окружениям и оригинальный тикет. (STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD) Код-ревью — основополагающая практика любого успешного проекта, но не всегда ясно, кто именно должен проводить ревью изменений. Теперь для каждого файла GitLab можно назначить одного или нескольких владельцев кода, указывая членов команды, ответственных за код в вашем проекте. Владельцы кода назначаются с помощью файла CODEOWNERS в формате, схожем с gitattributes, и отображаются под деталями коммита при просмотре файла в GitLab. В следующих релизах владельцы кода будут также вовлечены в процессы мерж-реквестов для предложения и утверждения тех, кто будет подтверждать мерж-реквест. А также в защищенных ветках менять файлы смогут только владельцы кода.  Документация по владельцам кода и оригинальный тикет. (ULTIMATE, GOLD) До этого релиза можно быть настроить фиксированные даты начала и завершения эпика, что было весьма полезно для высокоуровневого планирования эпиков и их отслеживания по времени. Тем не менее, так как задачи прикрепляются к эпику и назначаются на конкретный майлстоун, было бы неплохо, если бы даты эпика отражали эти майлстоуны. Начиная с этого релиза вы можете переключаться между фиксированным значением этих дат к динамическому значению Из майлстоунов (From milestones). Как планируемое начало будет выбрана самая ранняя дата начала среди всех майлстоунов, привязанных к задачам этого эпика. Этот срок будет динамически меняться при добавлении и удалении задач, добавлении и удалении майлстоунов к этим задачам или при изменении дат майлстоунов. Аналогично будет работать динамическая дата завершения эпика. Эта фича будет полезна для команд, которые хотят беспроблемного перехода с долгосрочного планирования «сверху вниз» на краткосрочное планирование «снизу вверх». Больше информации вы найдете в посте, посвященном дорожным картам эпиков, который мы опубликовали несколько недель назад.  Документация по эпикам и оригинальный тикет. (ULTIMATE, GOLD) В прошлом релизе мы добавили уведомления на почту о новых эпиках для тех пользователей, кто настроил уведомления об активности группы на уровень Watch. В этом релизе мы добавляем еще больше возможностей что-то настроить под себя. Теперь с помощью уровня Custom вы можете включить или выключить уведомления об этом событии, как и о других событиях.  Документация по уведомлениям и оригинальный тикет. (ULTIMATE, GOLD) Со страницы эпика довольно легко добавить к нему или удалить уже присоединенную задачу, что удобно при работе над самим эпиком. Но иногда вы работаете над задачей и хотите присоединить ее к существующему эпику, название которого вы знаете. Теперь это легко сделать с помощью быстрого действия на странице задачи, вставив URL эпика. В следующем релизе появится быстрое действие для поиска эпика по названию, с автодополнением. Также будет добавлено быстрое действие для открепления задачи от присоединенного эпика.  Документация по быстрым действиям и оригинальный тикет. (STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD) Пользователь, создавший мерж-реквест, может не быть автором изменений, а другие пользователи могут добавлять дополнительные изменения в открытый мерж-реквест. Maintainers теперь могут разрешать самостоятельное подтверждение (self-approval) мерж-реквестов в настройках проекта. Ранее предполагалось, что пользователь, открывший мерж-реквест, по умолчанию его одобряет (включая изменения, внесенные другими людьми), и поэтому он не участвовал в утверждении мерж-реквеста. Есть много ситуаций, когда это не так, и он будет против других изменений. Добавление явного разрешения снимает это предположение. Документация по самоподтверждению мерж-реквестов и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) При просмотре проектов в GitLab важно и полезно сразу видеть языки программирования, используемые в репозитории. В этом релизе мы добавляем в обзор проекта панель языков программирования, отображающую относительное использование языков в проекте.  Документация по проектам и оригинальный тикет. (PREMIUM, ULTIMATE) Шаблоны для файлов LICENSE, .gitignore, Dockerfile и .gitlab-ci.yml позволяют легко добавлять эти часто встречающиеся файлы в проекты. Собственные шаблоны для таких файлов теперь можно добавлять в пользовательских инстансах GitLab, выбрав репозиторий-шаблон с ними. Пользовательские шаблоны пригодятся в случаях, когда шаблоны GitLab слишком универсальны. Например, если компания требует использования пользовательской лицензии в каждом проекте, или есть сложный Dockerfile, который должен использоваться для каждого микросервиса. Спасибо Daniel Barker за добавление настраиваемых шаблонов лицензий. Документация по репозиториям шаблонов для инстанса и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Шаблоны файлов для LICENSE, .gitignore, Dockerfile и .gitlab-ci.yml упрощают добавление этих общих файлов в проекты и теперь могут использоваться в Web IDE. Шаблоны файлов в Web IDE облегчают запуск нового проекта в веб-среде IDE и своевременное обновление этих важных файлов.  Документация по Web IDE и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Чтобы добавить название проекта в свой недавно созданный проект GitLab, раньше приходилось заходить в настройки проекта и прописывать соответствующую «человекочитаемую» часть адреса проекта (семантический URL). С GitLab 11.3 мы добавляем поле названия проекта в форму «Создать проект». Кроме того, семантический URL теперь автоматически генерируется из названия проекта, при этом его все еще можно изменить вручную. Это ускоряет и упрощает создание нового проекта.  Документация по созданию проектов и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Изображения, загруженные в wiki через вики-редактор, теперь хранятся в репозитории Git. Эти изображения будут отображаться при локальном предварительном просмотре, использующем Gollum. Раньше изображения сохранялись в каталоге загрузок проектов, там же где и остальные вложения, загружаемые в тикетах и мерж-реквестах. Это приводило к невозможности адекватного локального просмотра вики, а также невозможности переноса в другой репозиторий Git. Документация по Wiki и оригинальный тикет. (ULTIMATE, GOLD) Статическое тестирование безопасности приложений (SAST) предназначено для обнаружения уязвимостей в исходном коде, как только этот код попадает в репозиторий. Для этого в коде ищутся известные шаблоны и распространенные ошибки, которые могут привести к проблемам безопасности в приложении. Вот почему для каждого языка нужна специальная поддержка. С GitLab 11.3 мы добавляем Groovy в список языков, поддерживаемых GitLab SAST. Проекты, использующие этот язык, теперь обнаруживаются автоматически, так что для включения этой фичи не нужно ничего менять ни в коде, ни в определения конвейера. Auto DevOps также поддерживает ее как часть своей конфигурации по умолчанию. Документация по SAST и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Веб-хуки (webhook) для push-событий легко позволяют автоматически уведомлять внешние службы о новых коммитах. Однако ветви обычно имеют разную важность. Push-события теперь можно отфильтровывать по веткам, так что внешние службы будут уведомлены только о важных для вас изменениях. Раньше веб-хуки не фильтровались GitLab, а большинство внешних систем не умеют фильтровать входящие события. Это означало, что нельзя было интегрировать эти внешние сервисы напрямую с GitLab, если вы хотели, чтобы только некоторое подмножество push-событий использовалось внешним сервисом. Спасибо Duana Saskia за эту фичу!  Документация по веб-хукам и оригинальный тикет. (ULTIMATE, GOLD) В GitLab 11.2 была добавлена возможность установки оповещений (alert) для настраиваемых метрик, что позволило разработчикам получать уведомления в случае возникновения каких-либо проблем с их приложениями. В GitLab 11.3 мы расширили поддержку оповещений для всех метрик, включая метрики, предоставляемые по умолчанию с нашими метриками библиотек.  Документация по оповещениям для метрик и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Auto DevOps стал общедоступным в версии GitLab 11.0, и, хотя он получил широкое распространение, мы хотим, чтобы все пользователи GitLab воспользовались его широкими возможностями. Auto DevOps уже «из коробки» дает значительные преимущества, от автоматической сборки (Auto Build) до автоматического мониторинга (Auto Monitoring). Начиная с GitLab 11.3, Auto DevOps будет включен по умолчанию как на GitLab.com, так и на пользовательских инстансах, чтобы каждый проект мог воспользоваться этими возможностями. Ознакомьтесь с документацией по включению/выключению Auto DevOps, если хотите отключить его для вашего проекта или для всего инстанса.  Документация по Auto DevOps и оригинальный тикет. (PREMIUM, ULTIMATE) Мы постоянно сосредоточены на улучшении Geo, нашей фичи для географически распределенных команд. Некоторые из важных улучшений в GitLab 11.3: Вы также можете прочитать о том, как мы создавали GitLab Geo. Документация по конфигурации Geo и доска задач по Geo. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) В компании GitLab одна из ключевых продуктовых ценностей — "по умолчанию включено". Когда мы вводим новую настраиваемую фичу, которая по нашему мнению очень важна, мы включаем ее по умолчанию, чтобы каждый смог получить от нее пользу. Хотя Auto DevOps поддерживает проекты, использующие наиболее популярные языки программирования, могут быть специализированные проекты, для которых требуется дополнительная настройка. Поскольку мы хотим быть уверены, что не запускаем конвейеры Auto DevOps для проектов, которые не поддерживаются, мы отключим Auto DevOps при сбое одного из конвейеров. GitLab уведомит владельца проекта об этом, чтобы при желании он мог внести необходимые изменения в конфигурацию для дальнейшей работы с Auto DevOps. Владельцы проектов могут снова включить Auto DevOps после внесения необходимых изменений.  Документация по включению Auto DevOps и оригинальный тикет. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Доступ к Git для регулярного использования GitLab теперь может происходить полностью через Gitaly, службу gRPC GitLab для доступа к Git. Это означает, что можно запустить Gitaly на своем сервере без NFS, когда включены все дополнительные фичи. В следующем релизе Gitaly v1.1 все фичи будут включены по умолчанию. Все оставшиеся фичи будут использовать Gitaly, так что можно будет обойтись без NFS. Читайте у нас в блоге о пути к Gitaly v1.0. Документация по Gitaly и оригинальный эпик. (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Мы также выпускаем в этом релизе GitLab Runner 11.3. GitLab Runner — проект с открытым исходным кодом, который используется для запуска ваших работ CI/CD и отправки результатов обратно в GitLab. Список всех изменений можно найти в CHANGELOG GitLab Runner'а. Документация по GitLab Runner (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) Начиная с GitLab 11.3, мы делаем более доступным список программного обеспечения с открытым исходным кодом, используемого GitLab. До этого релиза он был доступен в каждом из наших пакетов Linux, что требовало загрузки и извлечения содержимого. Теперь мы сразу размещаем эту информацию онлайн, чтобы ее можно было легче находить, а также ссылаться на нее. Список доступен для GitLab CE и GitLab EE. Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 11.3 released with Maven Repository and Protected Environments. Над переводом с английского работали cattidourden, ainoneko, rishavant и nick_volynkin. SDLC | ITSM | BPM | QA