В GitLab 11.3 поддерживаются репозитории Maven, Code owners, Secure environments и Epic-прогнозирование. Эти функции помогают автоматизировать средства управления средой и кодом, обеспечивая при этом дополнительную эффективность для разработчиков Java.  Мы расширили поддержку Java-проектов и разработчиков, создав репозитории Maven непосредственно в GitLab. Это предоставляет разработчикам Java безопасный стандартизованный способ совместного использования контроля версий в библиотеках Maven и возможность сэкономить время, повторно используя эти библиотеки для разных проектов. Эта функция доступна в GitLab Premium. Теперь GitLab Core поддерживает назначение code owners в файлы, чтобы указать соответствующих членов команды, ответственных за код. Эта функция подготавливает нас к будущим выпускам, в которых будут применяться внутренние элементы управления на уровне кода.
Доступные в GitLab Premium операторы также могут использовать secure environments для установки разрешений, определяющих, кто может развернуть код в производственных средах. Это значительно снижает риск того, что не тот человек совершит то, что ему не следует делать, и повысит общую безопасность окружения. Новая функция управления портфелем в GitLab Ultimate может автоматически прогнозировать даты начала и окончания epic, основанные на контрольных датах его выпусков. Благодаря этому усовершенствованию менеджеры портфеля смогут сравнить свои запланированные даты начала и окончания с работой, которая запланирована через контрольные точки, чтобы получить представление о возможных сбоях в расписании epic. Это позволит быстрее и лучше принимать решения о том, что может быть выполнено, и когда необходимо скорректировать планы. Многие из этих улучшений — вклад огромного сообщества GitLab. Мы с нетерпением ждем ваших отзывов и предложений по этим замечательным новым функциям. Вместе мы — сила!
Сообщите нам, что вы думаете, в комментариях ниже. Чего вы ожидаете от этого выпуска? Что мы еще можем улучшить? (доступно в версии: Premium, Ultimate, Silver, Gold) Для любой организации-разработчика важно иметь простой и безопасный способ управления зависимостями. Инструменты управления пакетами, такие как разработчики Maven для Java, обеспечивают стандартизованный способ совместного использования и контроля версий этих библиотек в разных проектах. В GitLab 11.3 мы с гордостью предлагаем репозитории Maven, встроенные непосредственно в GitLab. Разработчики служб более низкого уровня теперь могут публиковать упакованные библиотеки в репозиторий Maven своего проекта. Затем они могут поделиться простым фрагментом XML с другими командами, которые хотят использовать эту библиотеку, а Maven и GitLab сделают все остальное. Вот пример проекта, который выстраивает и синхронизирует данные из локального репозитория вверх к репозиторию GitLab Maven. Все просто!  (доступно во всех версиях) Джобы CI/CD запускаются раннерами на основе конфигурации, предоставленной пользователями в определении их конвейера. Однако запуск не интерактивен, и если он не удается, пользователи не могут вникнуть в детали, чтобы определить возможный источник проблемы. Интерактивные веб-терминалы позволяют подключаться к запущенному или завершенному джобу и вручную запускать команды, чтобы лучше понять, что происходит в системе.  (доступно в версиях: Starter, Premium, Ultimate, Bronze, Silver, Gold) Повторное использование кода процесса CI/CD — отличная практика, которая помогает обеспечить согласованность работы программного обеспечения и сводит к минимуму количество сценариев на один джоб, необходимых для написания и поддержки. Теперь мы предлагаем гибкий и действенный подход для повторного использования кода в шаблонах с использованием ключевых слов YAML extends.  (доступно во всех версиях) В GitLab мы любим открытый исходный код! Но бывает так, что вы работаете над частным проектом, которым — пока — не хотите делиться, или ограничены договором о конфиденциальности. В любом случае, GitLab вас прикроет. В этом выпуске мы предлагаем опцию включения частных дополнений в граф дополнений вашего профиля. Дополнения в частные проекты теперь отображаются в графе дополнений и дополнениях текущего дня, если вы включите этот параметр для своего профиля. Таким образом, активная работа над частными проектами GitLab отображается деликатно, без раскрытия каких-либо тайных деталей. 
Спасибо, Джордж Циолис, за ваш вклад! (доступно во всех версиях) Итерация на нашем пользовательском интерфейсе — это то, в чем мы постоянно стремимся к лучшему. В GitLab 11.3 мы обновляем пользовательский интерфейс страницы обзора проекта, чтобы вам было удобнее изучать проект. Улучшив общую информационную структуру этой страницы, мы выравниваем по левому краю верхний раздел заголовка и оптимизируем вертикальный интервал, чтобы вы могли быстрее просмотреть проект и его содержимое.  (доступно в версиях: Premium, Ultimate, Silver, Gold) На операторах часто лежит деликатная задача по защите среды, в которой мы ежедневно внедряем код. Задача становится особенно важной при развертывании кода в производственной среде. С secure environment операторы получают полный контроль над тем, какому человеку, группе или учетной записи разрешается внедрять код в определенную среду. Это дает дополнительную защиту и безопасность.  (доступно в версиях: Starter, Premium, Ultimate, Bronze, Silver, Gold) Обзор кода необходим в каждом успешном проекте, но кто следит за изменениями, не всегда ясно. Теперь GitLab поддерживает закрепление code owners за файлами, указывая членов команды, ответственных за код в вашем проекте. Code owners назначаются с использованием файла CODEOWNERS, формата, аналогичного [gitattributes] (https://git-scm.com/docs/gitattributes), и перечисляются ниже сведений о фиксации. Их видно при просмотре файла в GitLab. В будущих выпусках code owners будут интегрированы в рабочий процесс запроса программы слияния, чтобы предложить утверждающих, назначить утверждающих и обеспечить исполнение code owners.  (доступно в версиях: Ultimate, Gold) До этого выпуска вы могли установить фиксированные значения для запланированной даты начала и запланированной даты окончания epic. Это полезно для высокоуровневого планирования и отслеживания epic. Однако, поскольку к epic прилагаются темы, и темы имеют реальные контрольные сроки, было бы полезно, чтобы даты epic отражали эти сроки.
С этой версией вы можете легко переключаться с фиксированного значения для любой из дат на динамическое значение, называемое From milestones. Для запланированной даты начала этого динамического значения будет использована самая ранняя дата начала всех этапов, связанных с темами epic. Оно действительно динамическое, поскольку будет изменяться, если темы добавляются или удаляются, если контрольные сроки назначены или сняты (для этих тем) или если даты начала этих этапов будут изменены. Аналогичной является динамическая версия запланированной даты окончания epic. Полезная функция, если вы хотите плавно переходить от высокоуровневого нисходящего анализа к микроуровневому восходящему анализу. См. подробнее в посте о плане-графике epic, опубликованном несколько недель назад.  (доступно в версиях: Ultimate, Gold) В предыдущей версии о новых epic мы уведомляли по электронной почте тех пользователей, которые настроили групповые уведомления на Watch. В этом выпуске мы добавляем больше пользовательских настроек. Теперь вы можете настроить этот триггер событий на включение/выключение с помощью пользовательского уровня оповещения Custom вместе с другими триггерами.  (доступно в версиях: Ultimate, Gold) Добавление темы к epic (или удаление уже прикрепленной) легко выполняется непосредственно с epic-страницы. Это полезно, когда вы уже работаете в epic. Но бывает, что вы работаете в теме, зная, что надо прикрепить ее к существующему известному epic. Теперь вы можете сделать это с помощью простого быстрого действия на странице темы, вставив URL-адрес epic. В будущей версии вы даже сможете выполнить поиск epic через команду быстрого действия с помощью автозаполнения. Кроме того, еще одно быстрое действие с темой позволит вам удалить ее из уже прикрепленного epic.  (доступно в версиях: Starter, Premium, Ultimate, Bronze, Silver, Gold) Пользователю не обязательно быть автором изменений, чтобы создать запрос на слияние, а когда он открыт, другие пользователи могут добавлять в запрос дополнительные изменения. Теперь владельцы могут разрешить самостоятельное утверждение запросов на слияние из настроек проекта. Ранее предполагалось, что пользователь, открывший запрос слияния, неявно одобрял запрос слияния и поэтому был исключен из утверждения запроса слияния. Есть много ситуаций, когда это не так. Разрешение на самостоятельное утверждение устраняет это предположение. (доступно в версиях: Core, Starter, Premium, Ultimate, Free, Bronze, Silver, Gold) Языки кода, из которых состоит репозиторий, являются значимой информацией при изучении проектов GitLab. В этом выпуске мы добавляем панель языков кода в обзор проекта, показывая все соответствующие языки, из которых состоит репозиторий, включая их относительное количество.  (доступно в версиях: Premium, Ultimate) Шаблоны для файлов LICENSE, .gitignore, Dockerfile и .gitlab-ci.yml упрощают добавление этих общих файлов в проекты. Пользовательские шаблоны файлов теперь могут быть добавлены в самоуправляемые экземпляры GitLab путем выбора универсального шаблонного репозитория, содержащего ваши шаблоны. Пользовательские шаблоны полезны, когда шаблоны, предоставленные GitLab, являются слишком универсальными, например пользовательская лицензия, которая должна использоваться для каждого проекта в компании, или сложный файл Dockerfile, который должен использоваться для каждого микросервиса. Спасибо Даниэлю Баркеру за добавление пользовательских шаблонов лицензий. (доступно во всех версиях) Шаблоны файлов для LICENSE, .gitignore, Dockerfile и .gitlab-ci.yml дают возможность легко добавить данные общие файлы в проект, а сейчас их можно использовать в Web IDE. Шаблоны файлов в Web IDE облегчают возможность создания нового проекта в Web IDE, а также помогают поддерживать эти важные файлы в актуальном состоянии.  (доступно во всех версиях) Чтобы добавить наименование проекта во вновь созданный проект GitLab, ранее необходимо было зайти в настройки проекта и перезаписать название проекта в формате, который может быть обработан в формате URL. В версии GitLab 11.3 мы добавили поле «Название проекта» в форму «Создать проект». Вдобавок название проекта в URL-совместимом формате в новой версии генерируется автоматически из названия проекта, при этом возможность редактирования данного поля у вас сохраняется. Данное улучшение ускоряет и упрощает процесс создания нового проекта.  (доступно во всех версиях) Изображения, загружаемые в Wiki через редактор Wiki-страниц, теперь хранятся в репозитории Git. Это означает, что изображения будут отображаться при локальном предварительном просмотре Wiki-страниц с использованием Gollum.
В предыдущих версиях изображения хранились в директории загрузок проекта, а вложения загружались в сообщения о проблемах и запросы о слиянии. Это препятствовало локальному предпросмотру Wiki-страниц или их переходу в другой репозиторий Git. (доступно в версиях: Ultimate, Gold) Статическое тестирование защищенности приложений (SAST) отвечает за поиск уязвимостей в вашем исходном коде непосредственно после его помещения в репозиторий, определяя известные шаблоны и общие ошибки, которые могут вызвать брешь в системе безопасности в готовом приложении. Именно по этой причине для каждого отдельного языка необходима индивидуальная поддержка. В версии GitLab 11.3 мы представляем Groovy в списке языков, который поддерживает система SAST от GitLab. В новой версии происходит автоматическое определение проектов, использующих данный язык, и у вас нет необходимости вносить какие-либо изменения в ваш код или конвейер, чтобы включить данную функцию. Auto DevOps (автоматическая интеграция разработки и эксплуатации) также поддерживает данную функцию в рамках своей стандартной конфигурации. (доступно во всех версиях) Вебхуки для пуш-уведомлений облегчают автоматическое уведомление внешних сервисов о новых фиксациях транзакций, но разные ветки зачастую имеют разную значимость. Пуш-уведомления в новой версии можно фильтровать по веткам с тем, чтобы внешние сервисы получали уведомления только о тех изменениях, которые имеют для вас значение. Ранее у GitLab не было функции фильтрации вебхуков, и большинство внешних систем не имеет функции фильтрации входящих уведомлений. Это значит, что ранее не было возможности интегрировать данные сервисы непосредственно с GitLab, если у вас была необходимость, чтобы только определенное подмножество пуш-уведомлений использовались внешними сервисами.
Благодарим за это добавление Дуану Саскию!  (доступно в версиях: Ultimate, Gold) В версии GitLab 11.2 мы добавили способность устанавливать оповещения для индивидуальных метрик, которые позволяли разработчикам получать уведомления в случае любых проблем с их приложениями. В версии GitLab 11.3 мы расширили поддержку оповещений для всех метрик, включая метрики, которые по умолчанию предоставляются вместе с метриками нашей библиотеки.  (доступно во всех версиях) Auto DevOps был предоставлен для общего доступа в версии GitLab 11.0 и, хотя это было значительным улучшением, мы хотели бы предоставить всем пользователям GitLab возможность использовать эти прекрасные функции. Auto DevOps предоставляют важные преимущества непосредственно в «коробочной» версии, от функции Auto Build до Auto Monitoring.
Начиная с версии GitLab 11.3, Auto DevOps будут включены по умолчанию как на сайте GitLab.com, так и на исполняющих копиях программы под самостоятельным управлением, с тем, чтобы для каждого проекта можно было воспользоваться данными функциями. Просим ознакомиться с документацией по включению/выключению Auto DevOps, если вы желаете отключить данные функции для своего проекта во всей исполняющей копии программы.  (доступно в версиях: Premium, Ultimate) Мы непрерывно уделяем внимание улучшению функции Geo для распределенных рабочих групп. Некоторые заметные улучшения версии GitLab 11.3 включают: (доступно во всех версиях) Компания GitLab считает одной из ключевых ценностей продукта состояние «по умолчанию во включенном состоянии». Когда мы представляем новую функцию с возможностью конфигурации, которую мы считаем большой ценностью, мы по умолчанию устанавливаем ее в состоянии ВКЛЮЧЕНО, чтобы все могли воспользоваться ее преимуществами. Несмотря на то, что Auto DevOps поддерживает проекты, использующие самые популярные языки программирования, для некоторых специализированных проектов может потребоваться дополнительная конфигурация. Поскольку мы хотим гарантировать, что не будем запускать конвейеры Auto DevOps для тех проектов, которые мы не поддерживаем, мы отключаем Auto DevOps автоматически в случае отказа любого из его конвейеров. GitLab обязательно сообщит владельцу проекта о таком отключении, чтобы он, если пожелает работать с Auto DevOps, мог внести необходимые изменения в конфигурацию. После внесения необходимых изменений владельцы проекта могут запустить Auto DevOps еще раз.  (доступно во всех версиях) Доступ для регулярного использования GitLab сейчас может полностью осуществляться через Gitaly, сервис gRPC (система удаленного вызова с открытым исходным кодом) для доступа к Git. Это означает возможность запуска Gitaly на своем собственном сервере без NFS (сетевой файловой системы) при включении всех функций по выбору (путем выбора соответствующих флажков). В предстоящей основной версии Gitaly v1.1 все флажки соответствующих функций будут выбраны по умолчанию, и последние несколько оставшихся функций будут использовать Gitaly, тем самым необходимость в NFS отпадет.
См. сообщение в нашем блоге о развитии Gitaly v1.0. (доступно во всех версиях) Также сегодня мы выпускаем версию GitLab Runner 11.3! GitLab Runner – это проект с открытым кодом, который используется для выполнения заданий CI/CD и отправки результатов обратно в GitLab. Со списком всех изменений можно ознакомиться в разделе CHANGELOG программы GitLab Runner.  (доступно во всех версиях) Начиная с версии GitLab 11.3, мы упростили доступ к списку всех программных компонентов с открытым кодом, используемых GitLab. Ранее он был доступен в каждом из наших пакетов для ОС Linux, но, чтобы его получить, необходимо было загрузить и распаковать содержимое.
Сейчас мы опубликовали данную информацию онлайн, так что теперь проще получить к ней доступ и дать на нее ссылку. Данный список доступен для GitLab CE и GitLab EE. (доступно в версиях: Core, Starter, Premium, Ultimate) (доступно во всех версиях) В версии 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 в вариантах с самостоятельным управлением и облачном варианте SaaS (когда поставщики размещают программное обеспечение и базовую инфраструктуру и управляют ими, а также занимаются всем обслуживанием, включая обновление программного обеспечения и установку исправлений безопасности).
Самостоятельное управление: Размещение на ваших мощностях или на предпочитаемой облачной платформе.