Dev, Sec и Ops
GitLab 12.0 — это ключевой выпуск на пути к реализации подхода, который будет охватывать все элементы DevSecOps и позволит всем вносить свой вклад.
У нас был очень увлекательный год — мы много работали над решением, которое объединило бы все команды. Сообщество внесло тысячи дополнений, чтобы GitLab стал еще круче.
Мы верим, что каждый может внести свой вклад, поэтому добавили функции для сотрудничества между разными командами, быстрой поставки отличного кода и объединения Dev, Sec и Ops.
Визуальные ревью кода
Приложения для ревью GitLab — это удобные инструменты, с помощью которых кто угодно (от команды по обслуживанию и специалистов по контролю качества до владельцев компании) могут оценивать и одобрять изменения в приложениях до выпуска в продакшен.
В GitLab 12.0 можно запросто предоставить визуальный фидбэк прямо в приложении для ревью. Никаких лишних усилий, вроде переключения между вкладками и ввода текста, что позволяет сократить время на ревью и ускорить поставку.
Список зависимостей проекта
Обычно проекты состоят из десятков отдельных компонентов, а это чревато уязвимостями. Специалисты по безопасности и соответствию требованиям должны знать обо всех компонентах проекта.
Теперь можно легко просмотреть зависимости проекта в одном месте.
Ограничение доступа по IP-адресу
Некоторые компании предпочитает ограничивать доступ к репозиториям по IP-адресам.
В GitLab 12.0 можно запретить доступ к данным на GitLab для трафика с внешних IP-адресов.
Самый ценный сотрудник этого месяца (MVP) — Wolphin.
Благодаря ему теперь в GitLab CI поддерживается несколько extends, что заметно украсило и без того красивый примитив.
Спасибо, Wolphin!
Главные фичи GitLab 12.0
Визуальные ревью кода
STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD
GitLab позволяет пользователям автоматически создавать приложения для ревью для каждого мердж-реквеста. Любой может посмотреть изменение проекта или пользовательского интерфейса.
В GitLab 12.0 обсуждать эти изменения еще удобнее благодаря инструментам визуального ревью, доступным прямо в приложении для ревью. Один небольшой фрагмент кода — и дизайнеры, менеджеры продуктов и все, кого это касается, могут быстро оставлять фидбэк по мердж-реквесту, не выходя из приложения.
Список зависимостей проекта
ULTIMATE, GOLD
Теперь из левого меню можно открыть список зависимостей проекта (иногда их называют спецификации или BOM (Bill of Materials)).
В BOM видно, какие компоненты входят в проект, а это важно для специалистов по безопасности или соответствию требованиям. Отчет можно не только посмотреть, но и экспортировать как JSON.
Ограничение доступа по IP-адресу
ULTIMATE, GOLD
Если в компании строгий контроль, она может запретить доступ к своим ресурсам с внешних IP-адресов. Особенно эта фича полезна для компаний, которые используют VPN, потому что теперь можно запретить трафику за пределами указанной подсети доступ к ресурсам в пользовательском интерфейсе GitLab.
Строгий контроль над самым ценным кодом компании теперь можно настраивать на уровне группы в самоуправляемых экземплярах или на GitLab.com, и это очень просто.
Синхронизация файлов с веб-терминалом
ULTIMATE, GOLD
В GitLab 12.0 изменения, внесенные в Web IDE, теперь можно синхронизировать с веб-терминалом. Изменения в Web IDE можно тестировать в веб-терминале до отправки в проект.
Эта фича также упрощает приход новых участников, которые теперь смогут просматривать, редактировать и тестировать код без установки локальных зависимостей для проекта.
Примечание: GitLab.com поддерживает интерактивные веб-терминалы только через приватные раннеры.
Интеграция Git для JupyterHub
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Деплой JupyterHub через интеграцию Gitlab с Kubernetes позволяет без лишних усилий приступить к работе с записными книжками Jupyter, с помощью которых можно создавать и отправлять документы с живым кодом, диаграммами и даже инструкциями.
Начиная с GitLab 12.0 расширение Git для JupyterLab автоматически настраивается при установке JupyterHub на кластер Kubernetes. Эта интеграция позволяет полностью контролировать записные книжки и выполнять команды Git в Jupyter. Команды Git можно выполнять на вкладке Git на левой панели или в командной строке Jupyter.
Другие улучшения в GitLab 12.0
Поддержка нескольких extends в .gitlab-ci.yml
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Ключевое слово extends
позволяет пользователям сохранять лаконичность кода GitLab CI/CD. Продвинутые пользователи GitLab CI/CD уже вовсю используют extends, чтобы сжимать распространенные части кода. Мы сами используем их для сборки GitLab и своих фич Auto DevOps.
В GitLab 12.0 мы рады представить дополнение от Wolphin, благодаря которому можно включать несколько фрагментов extends
в одно задание, чтобы оптимизировать и сократить конфигурацию CI.
Спасибо, Wolphin!
Последовательные цепочки мерджей
PREMIUM, ULTIMATE, SILVER, GOLD
В выпуске 12.0 мы представляем новый способ поддерживать master
или ветки выпуска зелеными: цепочка мерджей. Цепочки мерджей основаны на нашей фиче пайплайнов для мердж-реквестов/результатов и позволяют ставить пайплайны в очередь по порядку.
Сейчас пайплайны цепочек мерджей идут последовательно (по одному), поэтому, возможно, вам пока лучше не включать эту фичу — в зависимости от частоты и продолжительности ваших пайплайнов.
В будущем мы планируем включить эту фичу по умолчанию, но сначала нам нужна поддержка параллельного выполнения для большего удобства.
Сворачиваемые логи заданий
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
В GitLab 12.0 мы добавляем возможность разворачивать и сворачивать логи в заданиях GitLab CI/CD. Так будет проще отлаживать некоторые шаги заданий и просматривать общие сведения о шагах — или подробности, если вам нужно увидеть все выходные данные.
Изначально это было дополнение от Маттиаса ван де Мента (Matthias van de Meent). Спасибо, Маттиас!
Электронные адреса для уведомлений по конкретным группам
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
В 12.0 мы добавили возможность выбирать отдельные адреса для групповых уведомлений. Теперь пользователи могут получать групповые уведомления на другие адреса. Например, рабочий адрес для рабочей группы и личный адрес для личной группы.
База данных уязвимостей для просмотра и принятия дополнений
ULTIMATE, GOLD
Наш проект базы данных уязвимостей можно посмотреть здесь. Изучите, что в ней есть, и проверьте самые актуальные для вас уязвимости.
А еще ознакомьтесь с рекомендациями по внесению вклада, чтобы улучшить базу данных уязвимостей.
Указание причины при пропуске уязвимости
ULTIMATE, GOLD
Если вы игнорируете найденную уязвимость, теперь можно объяснить причину в специальном поле.
Специалисты по безопасности и разработчики смогут просмотреть историю и понять, почему нет исправлений.
Управление разрешениями только в LDAP
PREMIUM, ULTIMATE
Компании, которые используют LDAP, обычно синхронизируют его с GitLab, чтобы управлять разрешениями.
В GitLab 12.0 теперь можно запретить всем, кроме администратора, изменять разрешения для экземпляра за пределами LDAP. При таком подходе компании со строгим контролем могут гарантировать, что разрешения в LDAP соответствуют разрешениям в экземпляре и их не может менять никто, кроме администраторов экземпляра.
Удалять проекты могут только администраторы
PREMIUM, ULTIMATE
Компании со строгим контролем могут разрешать только архивирование проектов, которые могут содержать важный код в репозитории, чтобы не потерять его навсегда.
Администраторы экземпляра могут на уровне экземпляра запретить обычным пользователям удалять проекты и будут точно знать, что проекты будут только заархивированы и никуда не денутся.
GitLab Insights
ULTIMATE, GOLD
GitLab Insights, представленный в GitLab Ultimate 11.9 (параметр фичи), теперь общедоступен в GitLab Ultimate 12.0.
Настройте отображение самых актуальных сведений, таких как чистота сортировки, количество созданных и закрытых задач за определенный период, среднее время для слияния мердж-реквестов и многое другое.
Уведомления о сбоях сборок на master-ветке
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Сервис уведомления о пайплайнах на GitLab позволяет пользователям настраивать оповещения о завершении или сбое сборок для списка получателей. Раньше можно было подписываться только на все проблемы со сборками.
В GitLab 12.0 мы добавили возможность подписаться на уведомления о сбое только в ветке проекта по умолчанию (например, master
).
Спасибо за работу, Питер Марко (Peter Marko)!
Улучшенная поддержка для передачи переменных в нижестоящие пайплайны
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
В GitLab 11.8 мы представили возможность запускать нижестоящий пайплайн из промежуточного задания в upstream. Мы также представили базовую поддержку передачи переменных в нижестоящий пайплайн.
GitLab 12.0 поддерживает передачу текущих переменных среды в нижестоящий пайплайн. Это позволяет пользователям предоставлять контекст для нижестоящего пайплайна и для коммитов, мердж-реквестов или других элементов из пайплайна, который его запустил.
Ускоренные поверхностные клоны по умолчанию для новых проектов в GitLab CI/CD
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
С выпуска GitLab 8.9 GitLab CI/CD поддерживает поверхностные git-клоны с помощью переменной GIT_DEPTH
в определении задания.
В GitLab 12.0 мы добавили возможность задавать эту глубину на уровне проекта, чтобы мейнтейнеры проекта могли выбрать поверхностное колнирование по умолчанию. Создавать поверхностные Git-клоны быстрее, чем каждый раз клонировать весь репозиторий Git, и если ваши задания CI/CD настроены на сборку последних изменений, поверхностных клонов будет достаточно.
Кроме того, в GitLab 12.0 у новых проектов, созданных в GitLab, параметр GIT_DEPTH
будет по умолчанию получать значение 50
при создании. Эта разумная величина поможет пользователям быстрее клонировать и выполнять сборки в GitLab CI/CD, а продвинутые пользователи смогут изменить этот параметр для других сценариев CI/CD.
Прокси зависимостей включен для групп по умолчанию
PREMIUM, ULTIMATE
В GitLab 11.11 мы запустили прокси зависимостей, чтобы пользователи могли загружать и кэшировать образы Docker для более быстрой и надежной загрузки.
В GitLab 12.0 мы включили эту фичу по умолчанию на уровне групп.
Шаблон Maven теперь автоматически отправляет код в репозиторий Maven
PREMIUM, ULTIMATE, SILVER, GOLD
Разработчикам Java нужен простой способ собирать зависимости и управлять ими в пайплайнах GitLab CI/CD.
В GitLab 12.0 мы изменили прилагаемый шаблон Maven.gitlab-ci.yml
, чтобы пользователи отправляли зависимости Java в репозиторий GitLab Maven из своих пайплайнов CI/CD и управляли ими.
Удаление тегов из реестра контейнеров через API
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
С Container Registry API пользователи GitLab могут легко управлять своими реестрами с помощью кода.
В GitLab 12.0 мы обновили модель разрешений, чтобы разработчики могли удалять теги.
Дедупликация объектов Git (бета)
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Ветвление рабочих процессов упрощает совместную работу над проектом: вы создаете копию upstream-проекта, работаете с ней, а затем открываете мердж-реквест, чтобы добавить свои изменения в upstream-проект. Для популярных проектов требования к хранилищу на стороне сервера для тысяч копий быстро возрастают — вместе с расходами.
В GitLab 12.0 администраторы экземпляров могут включить дедупликацию объектов с помощью параметра фичи object_pools
. Если она включена, при ветвлении общедоступного проекта будет создаваться пул объектов и использоваться objects/info/alternates
, чтобы ветки занимали меньше места.
Для дедупликации объектов нужно включить хэшированное хранилище, и родительский проект должен использовать хэшированное хранилище. Существующие ветки пока не переносятся в пул объектов автоматически. Следите за новостями: gitaly#1560.
В следующем выпуске мы реализуем быстрое ветвление, чтобы ветки создавались сразу с дедупликацией. Сейчас они сначала создаются, а потом дедуплицируются.
Дедупликация объектов работает на GitLab.com с 30 мая 2019 года, но она выключена по умолчанию для самоуправляемых экземпляров, потому что при вызове отображается предупреждение о повторяющемся битмапе. Проблема исправлена в 12.0, но мы не успели удалить параметр фичи в этом выпуске.
Включен хэш-кэш битмапа Git для ускоренной переупаковки
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
В GitLab 12.0 при переупаковке репозиториев Git хэш-кэш битмапа сохраняется в индексе битмапа. Кэш повышает производительность переупаковки, особенно при использовании дельта-участков.
Версии JGit до 3.5.0 несовместимы с хэш-кэшем битмапа.
Проверка учетных данных Kubernetes, предоставленных при создании кластера
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Если вы добавляете кластер Kubernetes вручную, нужно вводить много данных, и не исключены ошибки. Для выявления проблем с доступом и разрешениями теперь при добавлении кластера вручную интеграция Kubernetes будет проверять доступность API URL, а также допустимость токена кластера и сертификата CA.
Если возникнет проблема, вы получите оповещение.
Использование GitLab Serverless с текущими установками Knative
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
До этого выпуска фичи GitLab Serverless можно было использовать только при установке Knative через GitLab. В GitLab 12.0 существующие установки Knative также смогут использовать преимущества GitLab Serverless. Просто добавьте существующий кластер вручную, добавьте нужные шаблоны Serverless в проект, а GitLab сделает все остальное.
Это значит, что теперь можно использовать GitLab Serverless со сторонними решениями Knative, например Cloud Run on GKE от Google или Knative, размещенный в IBM.
Ссылки и доступ к конференции Zoom из задачи
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
В GitLab 12.0 мы упростили совместную работу над задачами с помощью конференций Zoom. Вставьте ссылку на конференцию Zoom в описание задачи. GitLab распознает ссылку и покажет кнопку «Join Zoom meeting» («Участвовать в конференции Zoom») под заголовком.
Ссылка на внешние панели мониторинга из панелей мониторинга среды
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Команды по обслуживанию часто используют более сложные панели мониторинга с метриками для визуализации состояния своих сред.
Начиная с GitLab 12.0 вы можете предоставлять и открывать сторонние панели мониторинга напрямую из панелей сред на GitLab.
Уведомления об общих лимитах CI Runner на GitLab.com
FREE, BRONZE, SILVER, GOLD
Владельцы групп на GitLab.com теперь будут получать по электронной почте уведомления о том, что квота минут CI закончилась, и инструкции по покупке дополнительных минут CI.
Возможность запрашивать эпики в GraphQL
ULTIMATE, GOLD
С помощью API GraphQL пользователи могут точно указывать, какие данные им нужны, и получать все необходимые данные за несколько запросов.
В этом выпуске GitLab поддерживает возможность запрашивать эпики в GraphQL API.
API задач теперь предоставляет статистику выполнения действий
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Пользователи могут определять действия в задачах, и эта информация отображается в разных местах приложения.
В GitLab 12.0 пользователи могут получать информацию о прогрессе действия через API.
Новый дизайн обсуждений с тредами
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Существующий дизайн для обсуждений мердж-реквестов и задач включал в себя много полей и границ, так что иногда было сложно следить за разговором.
В GitLab 12.0 мы представляем более удобный дизайн.
Дополнительная статистика задач из API задач
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Пользователи не получали подробную статистику по задачам из API задач.
В GitLab 12.0 мы добавляем возможность просматривать количество всех задач, открытых и закрытых задач.
Улучшение системных заметок при добавлении или удалении связей между эпиками
ULTIMATE, GOLD
Изменения связей между эпиками не записывались в системных заметках в ленте обсуждения эпика.
В GitLab 12.0 в системных заметках записывается, когда добавляются или удаляются связи между родительскими и дочерними эпиками.
Добавление и удаление дочерних эпиков через быстрые действия
ULTIMATE, GOLD
Сейчас дочерние эпики нельзя добавлять или удалять из родительских через быстрые действия.
В GitLab 12.0 мы добавили возможность добавлять и удалять дочерние эпики с помощью команд /child_epic
и /remove_child_epic
.
Docker in Docker больше не нужен для DAST
ULTIMATE, GOLD
Для динамического тестирования защищенности приложений (Dynamic Application Security Testing, DAST) больше не нужен Docker in Docker. Поэтому образ DAST Docker (3 ГБ) будет кэширован в раннерах.
Образ обновляется еженедельно, так что кэш становится недействительным каждый понедельник.
GitLab Runner 12.0
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Сегодня мы выпустили GitLab Runner 12.0! GitLab Runner — это проект с открытым исходным кодом, который используется для запуска заданий CI/CD и отправки результатов обратно в GitLab.
Самые интересные изменения:
- Поддержка Docker Credentials Helper
- Добавление конфигурации access_level для раннеров при регистрации
- Разрешение настройки контекста безопасности pod’ов в Kubernetes Executor
- PowerShell устанавливается по умолчанию для новых зарегистрированных исполняющих программ Windows
- Поддержка конфигурации томов Windows Docker
Как мы уже говорили в предыдущих постах, в GitLab Runner 12.0 мы удаляем устаревшие функции:
- Удалена устаревшая команда clone/fetch
- Удалена устаревшая стратегия git clean
- Удалена поддержка устаревшего параметра metrics_server
- Удалена поддержка устаревшей конфигурации точки входа для K8S
- Удалена поддержка устаревшей конфигурации кэша S3
- Удалена поддержка устаревших дистрибутивов
- Удалена поддержка старых команд docker helper image
Полный список изменений можно найти в журнале изменений GitLab Runner: CHANGELOG.
Улучшения Omnibus
CORE, STARTER, PREMIUM, ULTIMATE
Мы продолжаем улучшать GitLab Omnibus с каждым выпуском.
Некоторые улучшения в GitLab 12.0:
- GitLab 12.0 включает Mattermost 5.11 — альтернативу Slack с открытым кодом, в новый выпуск которого входит удаленный инструмент CLI и многое другое. Эта версия включает обновления безопасности, и мы советуем выполнить обновление.
- Включение логов JSON по умолчанию.
- Сервис Grafana теперь включен по умолчанию в пакетах omnibus-gitlab. А еще аутентификация OAuth теперь включена автоматически между Grafana и GitLab.
- Улучшенные метрики GitLab с метриками ruby, инструментированными напрямую
Улучшения производительности
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Мы продолжаем улучшать производительность GitLab с каждым выпуском для экземпляров GitLab любого размера.
Некоторые улучшения в GitLab 12.0:
- Страница списка эпиков стала более эффективной.
- База данных не учитывается в результатах Elasticsearch.
- Не нужно вызывать Elasticsearch дважды для получения результатов.
- Документы можно отправлять в индекс Elasticsearch пакетом.
- Кэшированный Markdown в сообщениях коммита для повышения производительности вывода коммитов.
- Улучшена производительность проверки ограничения размера репозитория при каждой отправке.
- Улучшена производительность при загрузке задачи или мердж-реквеста с длинным описанием.
- Улучшена производительность мердж-реквестов с предложенными изменениями.
- Улучшена производительность и снижено потребление процессорных ресурсов клонами с помощью дельта-участков при переупаковке репозиториев Git.
- Улучшена производительность диаграмм мониторинга.
- Исправлен Git N + 1 в ListLastCommit RPC.
- Улучшена производительность поиска по коду Git с помощью --perl-regexp
- Улучшена производительность JobsController благодаря исправлению Git N + 1.
Устаревшие фичи
GitLab 9.x больше не поддерживается
Мы представляем новую основную версию GitLab, поэтому GitLab 9.x больше не поддерживается. Рекомендуем выполнить обновление как минимум до GitLab 10.0, чтобы получать помощь от нашей службы поддержки.
Дата удаления: 22 июня 2019 г.
GitLab Geo требует хэшированное хранение в GitLab 12.0
В GitLab 12.0 GitLab Geo требуется хэшированное хранилище для смягчения конкуренции на вторичных узлах. Используйте sudo gitlab-rake gitlab:geo:check
, чтобы проверить, включено ли хэшированное хранилище и все ли проекты переносятся. См. документацию о том, как перейти на хэшированное хранилище.
Мы уже говорили об этом раньше.
В GitLab 11.5 мы добавили это требование в документацию Geo.
В GitLab 11.6, sudo gitlab-rake gitlab:geo:check
проверяет, включено ли хэшированное хранилище и все ли проекты переносятся. Если вы используете Geo, пожалуйста, запустите эту проверку и мигрируйте как можно скорее.
В GitLab 11.8 постоянно отключаемое предупреждение будет отображаться на странице Admin Area › Geo › Nodes, если вышеупомянутые проверки не разрешены.
Дата удаления: 22 июня 2019 г.
GitLab Geo требует PostgreSQL Foreign Data Wrapper в GitLab 12.0
В GitLab 12.0 Geo требует PostgreSQL Foreign Data Wrapper, поэтому версия PostgreSQL должна быть не ниже 9.6. GitLab Geo использует PostgreSQL Foreign Data Wrapper для запроса данных из разных экземпляров PostgreSQL. Это необходимо для Geo Log Cursor, так как значительно повышает производительность некоторых операций синхронизации. Foreign Data Wrapper также повышает производительность запросов статуса узлов Geo. Предыдущие запросы имели слишком низкую производительность в крупных проектах.
Узнайте, как настроить PostgreSQL Foreign Data Wrapper, в документации по репликации баз данных Geo.
Дата удаления: 22 июня 2019 г.
Отказ от сопоставления по ярлыку app на панелях деплоя Kubernetes
В GitLab 12.1 мы удалим сопоставление по ярлыку app
в селекторе деплоев Kubernetes (изначально удаление было запланировано на выпуск 12.0). В GitLab 11.10 мы ввели новый механизм сопоставления, который ищет совпадения по app.gitlab.com/app
и app.gitlab.com/env
, чтобы выводить деплои на панель.
Чтобы эти деплои отображались на панелях деплоев, нужно просто отправить новый денлой, и GitLab применит новые ярлыки.
Дата удаления: 22 июня 2019 г.
Удаление переменной среды AUTO_DEVOPS_DOMAIN
Новая переменная среды KUBE_INGRESS_BASE_DOMAIN
была представлена в GitLab 11.8. Больше не нужно использовать AUTO_DEVOPS_DOMAIN
, чтобы определить несколько доменов, так как теперь они определяются индивидуально на странице кластера.
Дата удаления: 22 июня 2019 г.
Удаление шаблона сервиса Kubernetes
В GitLab 12.1 мы планируем отказаться от шаблона сервиса Kubernetes на уровне экземпляра в пользу конфигурации кластера на уровне экземпляра, представленной в GitLab 11.11.
Все самоуправляемые экземпляры, где используется шаблон сервиса, будут перенесены в кластер на уровне экземпляра при апгрейде до GitLab 12.0.
Дата удаления: 22 июня 2019 г.
Удаление поддержки файла skip_auto_migrations
В GitLab 12.0 мы полностью удаляем поддержку файла skip_auto_migrations
. Он был объявлен устаревшим в GitLab 10.6.
Дата удаления: 22 июня 2019 г.
Удаление поддержки Prometheus 1.x
В GitLab 12.0 мы полностью удаляем поддержку Prometheus 1.x.
Дата удаления: 22 июня 2019 г.
Устаревший openSUSE 42.3
EOL openSUSE 42.3 наступает 30 июня 2019 года. Мы продолжим собирать пакеты для этой версии до GitLab 12.1, но прекратим поддержку в GitLab 12.2.
Дата удаления: 22 июня 2019 г.
Устаревшие пути legacy кода GitLab Runner
Начиная с Gitlab 11.9 GitLab Runner использует новый метод клонирования/вызова репозитория. В настоящее время GitLab Runner будет использовать старый метод, если новый не поддерживается. Подробнее смотрите в этой задаче.
В GitLab 11.0 мы изменили вид конфигурации сервера метрик для GitLab Runner. metrics_server
будет удален в пользу listen_address
в GitLab 12.0. Подробнее смотрите в этой задаче.
В выпуске 11.3 GitLab Runner начал поддерживать несколько кэш-провайдеров. Это привело к новым настройкам для конфигурации S3. В документации приведена таблица изменений и инструкции по переходу к новой конфигурации. Подробнее смотрите в этой задаче.
Эти пути недоступны в GitLab 12.0. Как пользователю, вам не нужно ничего менять, только убедиться, что экземпляр GitLab работает с версией 11.9+ при обновлении до GitLab Runner 12.0.
Дата удаления: 22 июня 2019 г.
Устаревший параметр для фичи точки входа для GitLab Runner
В выпуске 11.4 GitLab Runner представлен параметр фичи.
FF_K8S_USE_ENTRYPOINT_OVER_COMMAND
для исправления таких проблем, как #2338 и #3536.
В GitLab 12.0 мы переключились на правильное поведение, как если бы параметр фичи был отключен. Подробнее смотрите в этой задаче.
Дата удаления: 22 июня 2019 г.
Устаревшая поддержка дистрибутивов Linux, достигших EOL, для GitLab Runner
Некоторые дистрибутивы Linux, в которые можно установить GitLab Runner, свое отслужили.
В GitLab 12.0 GitLab Runner больше не распределяет пакеты в такие дистрибутивы Linux. Полный список дистрибутивов, которые больше не поддерживаются, можно найти в нашей документации.
Спасибо, Хавьер Ардо (Javier Jardón), за твой вклад!
Дата удаления: 22 июня 2019 г.
Удаление старых команд GitLab Runner Helper
В рамках добавления поддержки Windows Docker executor пришлось отказаться от некоторых старых команд, которые используются для helper image.
В GitLab 12.0 GitLab Runner запускается с помощью новых команд. Это касается только пользователей, которые переопределяют helper image. Подробнее смотрите в этой задаче.
Дата удаления: 22 июня 2019 г.
Удаление legacy механизма git clean из GitLab Runner
В GitLab Runner 11.10 мы предоставили возможность настроить, как Runner выполняет команду git clean
. Коме того, новая стратегия очистки удаляет использование git reset
и помещает команду git clean
после шага выгрузки.
В GitLab 12.0 GitLab Runner больше не поддерживает устаревшую стратегию очистки и возможность восстанавливать ее с помощью параметра фичи. См. эту задачу.
Дата удаления: 22 июня 2019 г.
Secure License Management переименован в License Compliance в GitLab 12.0
License Management переименован, чтобы лучше соответствовать формулировкам отрасли, начиная с GitLab 12.0. Задача License Compliance — анализировать приложение и отслеживать лицензии, используемые сторонним компонентами, например библиотеками или сторонними зависимостями, и проверять, что они совместимы с моделью лицензирования вашего проекта.
License Compliance входит в нашу группу анализа безопасного состава ПО.
Дата удаления: 22 июня 2019 г.
Устаревшие переменные и аргумент для конфигурации .gitlab-ci.yml
вручную при использовании функций Secure
Если вы настроили файл конфигурации .gitlab-ci.yml
вручную, чтобы использовать:
- аргумент командной строки
--auth-first-page
, удалите этот аргумент, он больше не поддерживается. - переменную параметра
DEP_SCAN_DISABLE_REMOTE_CHECKS
, удалите ее, она больше не поддерживается. - значение
sast_container
в переменной средыGITLAB_FEATURES
, используйте вместо негоcontainer_scanning
.
Если вы вручную настроили файл конфигурации .gitlab-ci.yml
, убедитесь, что используете новый синтаксис отчетов. Все функции Secure зависят от доступности отчетов по ожидаемому адресу. Если вы не обновите новый синтаксис отчетов, все функции Secure перестанут работать.
Если вы используете готовые шаблоны вместо конфигурации вручную, мы будем поддерживать актуальность вашей конфигурации с учетом изменений переменных и аргументов.
Дата удаления: 22 июня 2019 г.
Удаление поддержки сниппета конфигурации вручную Secure из GitLab 12.0
Мы больше не обновляем сниппет конфигурации вручную Secure в документации. Он использовался при настройке функций Secure в пайплайне проекта.
Используйте готовый шаблон для Secure в файле .gitlab-ci.yml с помощью include: template: Dependency-Scanning.gitlab-ci.yml
.
Дата удаления: 22 июня 2019 г.
3DES отключен в GitLab.com Pages по умолчанию
GitLab.com Pages раньше разрешали 3DES, который считается устаревшим.
Поэтому теперь 3DES отключен по умолчанию. Для пользователей современных браузеров ничего не изменится, но это могут заметить пользователи Internet Explorer 7 и 8 на Windows XP.
Дата удаления: 22 июня 2019 г.
Удаление поддержки MySQL в GitLab 12.1
GitLab 12.0 — это последняя версия с поддержкой MySQL (и MariaDB). Пользователи должны перейти на PostgreSQL, чтобы использовать последующие версии. MySQL считается устаревшим, и его поддержка уже была ограничена в Enterprise Edition Starter и Premium.
Если вы клиент GitLab и используете MySQL, свяжитесь с нашей службой поддержки, чтобы получить помощь по миграции.
Дата удаления: 22 июля 2019 г.
Параметры Sentry для отчетов об ошибках и логирования будут удалены из пользовательского интерфейса в GitLab 12.1
Эти параметры будут удалены из пользовательского интерфейса в GitLab 12.1 и доступны в gitlab.yml
с GitLab 11.11. Кроме того, вы сможете определить среду Sentry, чтобы различать несколько деплоев (разработка, стейджинг, продакшен). Подробности см. в gitlab-ce#49771.
Дата удаления: 22 июля 2019 г.
Шаблоны групповых проектов доступны только для планов Silver/Premium
Когда мы представили шаблоны проектов на уровне групп в GitLab 11.6, мы случайно сделали эту фичу для Premium/Silver доступной для всех планов.
Мы исправили этот баг в GitLab 11.11, дав еще три месяца всем пользователям и экземплярам ниже уровня Silver/Premium.
С 22 августа 2019 года шаблоны групповых проектов будут доступны только для плана Silver/Premium и выше, как описано в документации.
Дата удаления: 22 августа 2019 г.
License Management будет использовать Python 3 по умолчанию в GitLab 12.2
Python 3 станет версией по умолчанию для Secure License Management.
Пользователи с Python 2 должны установить для переменной CI LM_PYTHON_VERSION
значение «2», если они на самостоятельном управлении, когда начнут использовать GitLab 12.2. Пользователи с Python 3 могут установить для переменной CI LM_PYTHON_VERSION
значение «3» сегодня.
Дата удаления: 22 августа 2019 г.
Прекращена поддержка пакетных заданий Windows
В GitLab 12.3 мы планируем отказаться от поддержки пакетных заданий в командной строке Windows в GitLab Runner (например, cmd.exe
) в пользу расширенной поддержки Windows PowerShell.
Теперь наше видение корпоративного DevOps будет соответствовать позиции Microsoft, что PowerShell — это лучший вариант для автоматизации корпоративных приложений в средах Windows.
Если вы хотите и дальше использовать cmd.exe
, эти команды можно вызывать из PowerShell, но мы не будем напрямую поддерживать пакетные задания Windows из-за нескольких несоответствий, которые приводят к высоким издержкам при обслуживании и разработке.
Дата удаления: 22 сентября 2019 г.
Устаревшее кэширование каталога заданий в GitLab Runner с Docker Executor
В GitLab Runner 11.10 мы изменили, какие каталоги заданий кэшируются в общем томе, когда используются исполняющие программы Docker и Docker Machine. Вместо кэширования только родительского каталога в каталоге задания GitLab Runner теперь кэширует весь базовый каталог, настроенный с builds_dir
. Из-за этого изменения поведения мы добавили параметр фичи, который позволяет выбирать новое или старое поведение.
В GitLab Runner 12.3 мы удалим параметр фичи и старое поведение. См. эту задачу.
Дата удаления: 22 сентября 2019 г.
Поддержка Python 2 в Secure License Management будет прекращена к концу года
Поддержка Python 2 будет прекращена в будущем выпуске GitLab, так как Python 2.7 достигает EOL 1 января 2020 года.
Дата удаления: 22 декабря 2019 г.
Важные примечания об обновлении до GitLab 12.0
GitLab 12.0 объединяет изменения базы данных, внесенные в Enterprise Edition за несколько лет, в Community Edition. В рамках этого проекта мы удалили различные старые миграции. Пользователи, которые обновляют GitLab, должны сначала обновиться до последнего выпуска 11.11, а затем до 12.0.0. При переходе на следующие версии, например 12.3.0, сначала нужно обновиться до последнего выпуска 11.11 в соответствии с нашими рекомендованными путями обновления. В противном случае возникнут проблемы с миграцией и, соответственно, ошибки в приложении. Установки Omnibus уже требуют обновления до версии 12.0.0, и GitLab Helm Chart требует аналогичный путь обновления. При установке из исходного кода это нужно будет сделать вручную.
- GitLab 12.0 будет использовать хэшированное хранилище по умолчанию. Это повлияет только на новые установки.
GitLab 12.0 автоматически обновит PostgreSQL до версии 10.0.
- Пользователи могут пропустить автоматическое обновление PostreSQL 10.0, создав
/etc/gitlab/disable-postgresql-upgrade
. - Если вы используете GitLab Geo, автоматическое обновление PostgreSQL будет пропущено на узлах
primary
и всехsecondary
. Мы предоставим путь обновления для пользователей Geo в выпуске 12.1.
- В GitLab 12.0 включены логи JSON по умолчанию. Мы также добавили документацию о том, как сохранить настройки предыдущего формата логов, если JSON нежелателен.
- Читайте больше важной информации об обновлении Omnibus в документации.
Журнал изменений
Ищите все эти изменения в журнале изменений:
Установка
Если вы настраиваете новую установку GitLab, посетите страницу загрузки GitLab.
Обновление
Загляните на страницу обновлений.
Автор: nAbdullin