Быстрое обнаружение утечки секретов
Казалось бы, небольшая ошибка — случайно передать учетные данные в общий репозиторий. Однако последствия могут быть серьезные. Как только злоумышленник получит ваш пароль или API-ключ, он захватит вашу учетную запись, заблокирует вас и обманным путем использует деньги. Кроме того, возможен эффект домино: доступ к одной учетной записи открывает доступ к другим. Ставки высоки, поэтому чрезвычайно важно узнавать об утечке секретов как можно скорее.
В этом релизе мы представляем опцию обнаружения секретов в рамках нашего функционала SAST. Каждый коммит сканируется в задании CI/CD на наличие секретов. Есть секрет — и разработчик получает предупреждение в мердж-реквесте. Он на месте аннулирует утекшие учетные данные и создает новые.
Обеспечение правильного управления изменениями
По мере роста и усложнения поддерживать согласованность между различными частями организации все сложнее. Чем больше пользователей приложения и чем выше доход, тем серьезнее последствия мерджа неправильного или небезопасного кода. Для многих организаций обеспечение правильного процесса проверки перед мерджем кода — жесткое требование, поскольку риски очень высоки.
В GitLab 11.9 больше контроля и более эффективная структура — благодаря правилам разрешения мердж-реквестов. Ранее, чтобы получить разрешение, достаточно было указать отдельное лицо или группу (каждый член которой может предоставить разрешение). Теперь можно добавить несколько правил, чтобы мердж-реквест требовал разрешения от конкретных лиц или даже от нескольких членов конкретной группы. Кроме того, в правила разрешения интегрирована фича Code Owners, которая позволяет легко определить лицо, выдавшее разрешение.
Это позволяет организациям реализовать сложные процессы разрешения, сохраняя при этом простоту единого приложения GitLab, где задачи, код, пайплайны и данные мониторинга видны и доступны для принятия решений и ускорения процесса разрешения.
ChatOps теперь имеет открытый исходный код
GitLab ChatOps — это эффективный инструмент автоматизации, позволяющий выполнять любой джоб CI/CD и запрашивать его статус непосредственно в таких чат-приложениях, как Slack и Mattermost. Первоначально введенный в GitLab 10.6, ChatOps был частью подписки GitLab Ultimate. Исходя из стратегии развития продукта и приверженности открытому исходному коду, мы иногда перемещаем фичи вниз по уровню и никогда — вверх.
В случае с ChatOps мы поняли, что этот функционал может быть полезен всем, и что участие сообщества может принести пользу самой фиче.
В GitLab 11.9 мы открыли исходный код ChatOps, и таким образом, теперь он бесплатно доступен для использования в локально установленном GitLab Core и на GitLab.com и открыт для сообщества.
И многое другое!
В этом релизе доступно так много замечательных фич: например, Аудит параметров функций, Устранение уязвимостей мердж-реквестов и Шаблоны CI/CD для security jobs, — что нам не терпится о них рассказать!
Наиболее ценным сотрудником (MVP) этого месяца признан Марсель Амиро (Marcel Amirault)
Марсель постоянно помогал нам улучшать документацию GitLab. Он многое сделал для повышения качества и удобства использования наших документов. Домо аригато [большое спасибо (яп.) — прим. пер.] Марсель, мы искренне ценим это!
Основные функции, добавленные в релиз GitLab 11.9
Обнаружение секретов и учетных данных в репозитории
(ULTIMATE, GOLD)
Разработчики порой непреднамеренно передают в удаленные репозитории секреты и учетные данные. Если другие люди имеют доступ к этому источнику, или если проект — открытый, то конфиденциальная информация раскрывается и может быть использована злоумышленниками для доступа к таким ресурсам, как среды развертывания.
GitLab 11.9 есть новый тест — “Secret Detection”. Он сканирует содержимое репозитория в поиске API-ключей и другой информации, которая не должна здесь находиться. GitLab отображает результаты в отчете SAST в виджете мердж-реквеста, отчетах пайплайнов и на панелях безопасности.
Если вы уже подключили SAST для своего приложения, то ничего делать не нужно, просто пользуйтесь преимуществами этой новой фичи. Она также включена в конфигурацию Auto DevOps по умолчанию.
Правила разрешения мердж-реквестов
(PREMIUM, ULTIMATE, SILVER, GOLD)
Рецензирование кода — неотъемлемый элемент каждого успешного проекта, но не всегда понятно, кто должен заниматься рецензированием изменений. Зачастую желательно участие рецензентов из разных команд: команды разработчиков, команды по взаимодействию с пользователями, производственной команды.
Правила разрешения позволяют усовершенствовать процесс взаимодействия между лицами, участвующими в рецензировании кода: определяется круг уполномоченных утверждающих лиц и минимальное количество разрешений. Правила разрешения отображаются в виджете мердж-реквеста, и таким образом, можно быстро назначить следующего рецензента.
В GitLab 11.8 правила разрешения были по умолчанию отключены. Начиная с версии GitLab 11.9 они по умолчанию доступны. В GitLab 11.3 мы ввели опцию Code Owners для обозначения членов команды, отвечающих за отдельные коды в рамках проекта. Функция Code Owners интегрирована в правила разрешения, и таким образом, всегда можно быстро найти нужных людей, чтобы рецензировать изменения.
Перемещение ChatOps в Core
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Первоначально введенный в GitLab Ultimate 10.6, ChatOps переехал в GitLab Core. GitLab ChatOps предлагает возможность запуска заданий GitLab CI через Slack с помощью фичи слэш-команд.
Мы открываем исходный код этой фичи в соответствии с нашим принципом определения уровня, ориентированным на покупателя. Чаще пользуясь ею, сообщество внесет больший вклад.
Аудит параметров функций
(PREMIUM, ULTIMATE, SILVER, GOLD)
Такие операции, как добавление, удаление или изменение параметров функций, теперь регистрируются в логе аудита GitLab, благодаря чему вы можете видеть, что и когда было изменено. Произошла авария и нужно посмотреть, что изменилось за последнее время? Или просто нужно в рамках аудита проверить, как были изменены параметры функций? Теперь это сделать очень легко.
Устранение уязвимостей мердж-реквестов
(ULTIMATE, GOLD)
Чтобы быстро устранять уязвимости кода, процесс должен быть простым. Важно упростить исправления безопасности, позволяя разработчикам сосредоточиться на прямых обязанностях. В GitLab 11.7 мы предложили файл исправления, но его нужно было загрузить, применить на локальном уровне и затем переместить изменения в удаленный репозиторий.
В GitLab 11.9 этот процесс автоматизирован. Устраняйте уязвимости, не выходя из веб-интерфейса GitLab. Мердж-реквест создается непосредственно из окна информации об уязвимостях, и эта новая ветка уже будет содержать исправление. Проверив, решена ли проблема, добавьте исправление в исходную ветку, если пайплайн в порядке.
Отображение результатов сканирования контейнеров на панели безопасности группы
(ULTIMATE, GOLD)
Панель безопасности группы позволяет специалистам сконцентрироваться на наиболее важных для работы вопросах, обеспечивая четкий и подробный обзор всех возможных уязвимостей, способных повлиять на приложения. Вот почему важно, чтобы панель содержала всю необходимую информацию в одном месте и позволяла пользователям подробно изучить данные перед тем, как устранять уязвимости.
В GitLab 11.9 результаты сканирования контейнера добавлены на панель инструментов, в дополнение к уже имеющимся SAST и результатам сканирования зависимостей. Теперь весь обзор — в одном месте, вне зависимости от источника проблемы.
Шаблоны CI/CD для security jobs
(ULTIMATE, GOLD)
Функции безопасности GitLab развиваются очень быстро и постоянно требуют обновлений, чтобы поддерживать эффективность и защиту кода. Менять определение джоба — сложно, когда управляешь несколькими проектами. И еще мы понимаем: рисковать, используя последнюю версию GitLab без уверенности в ее полной совместимости с текущим экземпляром GitLab, никто не хочет.
Именно по этой причине мы представили в GitLab 11.7 новый механизм определения джобов с помощью шаблонов.
Начиная с GitLab 11.9 мы будем предлагать встроенные шаблоны для всех security jobs: например, sast
и dependency_scanning
, — совместимые с соответствующей версией GitLab.
Включайте их непосредственно в свою конфигурацию, и они будут обновляться вместе с системой при каждом обновлении до новой версии GitLab. Конфигурации пайплайна при этом не меняются.
Новый способ определения security jobs — официален и не поддерживает любые другие предыдущие определения джобов или фрагменты кода. Следует как можно скорее обновить определение, чтобы использовать новое ключевое слово template
. Поддержка любого другого синтаксиса может быть удалена в GitLab 12.0 или в других будущих релизах.
Другие улучшения в GitLab 11.9
Ответ на комментарий
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
В GitLab есть дискуссии по темам. До сих пор пользователь, пишущий первоначальный комментарий, должен был с самого начала решить, нужно ли ему обсуждение.
Мы ослабили это ограничение. Берите любой комментарий в GitLab (по задачам, мердж-реквестам и эпикам) и отвечайте на него, начиная тем самым дискуссию. Так команды взаимодействуют организованнее.
Шаблоны проектов для .NET, Go, iOS и Pages
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Чтобы упростить пользователям создание новых проектов, мы предлагаем несколько новых шаблонов проектов:
- Начальный шаблон проекта .NET Core, включающий базовое приложение с CI.
- Готовый к работе шаблон, комбинирующий структуру микросервисов Go Micro и GitLab CI/CD.
- Приложение iOS “Привет, мир!”, готовое для начальной кастомизации в GitLab. Обратите внимание, что, поскольку для сборки iOS требуется выделенный раннер MacOS, нужно будет предоставить свой собственный сервер сборки, — если хотите использовать его с GitLab CI/CD.
- Шаблоны GitLab Pages настроены на работу с Netlify.
Требуйте разрешения мердж-реквестов от Code Owners
(PREMIUM, ULTIMATE, SILVER, GOLD)
Не всегда очевидно, кто утверждает мердж-реквест.
Теперь GitLab поддерживает требование утвердить мердж-реквест, в зависимости от того, какие файлы запрос изменяет, с помощью Code Owners. Code Owners назначаются с помощью файла под названием CODEOWNERS
, формат похож на gitattributes
.
Поддержка автоматического назначения Code Owners как лиц, ответственных за утверждение мердж-реквеста, добавлена еще в GitLab 11.5.
Перемещение файлов в Web IDE
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Теперь, переименовав файл или каталог, его можно перемещать из Web IDE в репозиторий по новому пути.
Метки в алфавитном порядке
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Метки GitLab невероятно универсальны, и команды постоянно находят им новое применение. Соответственно, пользователи часто добавляют много меток к задаче, мердж-реквесту или эпику.
В GitLab 11.9 мы немного упростили использование меток. В задачах, мердж-реквестах и эпиках метки, отображающиеся на боковой панели, располагаются в алфавитном порядке. Это касается и просмотра списка этих объектов.
Быстрые комментарии при фильтрации действий по задаче
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Недавно мы ввели фичу, с помощью которой пользователи фильтруют ленту действий по задачам, мердж-реквестам или эпикам, что позволяет сконцентрироваться только на комментариях или системных примечаниях. Этот параметр сохраняется для каждого пользователя в системе, и бывает так, что пользователь может не понимать, что, просматривая задачу несколько дней спустя, он видит отфильтрованную ленту. Ему кажется, что оставить комментарий нельзя.
Мы усовершенствовали данное взаимодействие. Теперь пользователи могут быстро переключиться в режим, позволяющий оставлять комментарии, не прокручивая ленту обратно до самого верха. Это касается задач, мердж-реквестов и эпиков.
Изменение порядка дочерних эпиков
(ULTIMATE, GOLD)
Недавно мы выпустили дочерние эпики, позволяющие использовать эпики эпиков (в дополнение к дочерним задачам эпиков).
Теперь можно изменять порядок дочерних эпиков эпиков простым перетаскиванием, как и в случае с дочерними задачами. Команды могут использовать порядок для отражения приоритета или определения порядка выполнения работ.
Пользовательские системные сообщения верхнего и нижнего колонтитула в Интернете и электронной почте
(CORE, STARTER, PREMIUM, ULTIMATE)
Ранее мы добавили фичу, позволяющую пользовательским сообщениям верхнего и нижнего колонтитула появляться на каждой странице в GitLab. Встретили ее тепло, и команды используют ее для обмена важной информацией: например, системными сообщениями, относящимися к их экземпляру GitLab.
Мы с радостью вводим эту фичу в Core, так что теперь ей может пользоваться еще больше людей. Кроме того, мы разрешаем пользователям по желанию отображать одни и те же сообщения во всех электронных письмах, отправляемых через GitLab, для согласованности с другой точкой взаимодействия пользователя с GitLab.
Фильтр по конфиденциальным задачам
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Конфиденциальные задачи — это полезный инструмент для команд, позволяет в рамках открытого проекта вести закрытые обсуждения по деликатным темам. В частности, они идеально подходят для работы над уязвимостями безопасности. До сих пор управлять конфиденциальными задачами было не слишком легко.
В GitLab 11.9 список задач GitLab теперь фильтруется по конфиденциальным или неконфиденциальным задачам. Это касается и поиска задач по API.
Благодарим за вклад Роберта Шиллинга (Robert Schilling)!
Редактирование домена Knative после развертывания
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Указание пользовательского домена при установке Knative позволяет обслуживать различные serverless приложения/функции с уникальной конечной точки.
Теперь интеграция Kubernetes в GitLab позволяет изменить/обновить пользовательский домен после деплоя Knative в кластер Kubernetes.
Проверка формата сертификата Kubernetes CA
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
При добавлении существующего кластера Kubernetes GitLab теперь проверяет, что введенный сертификат CA имеет допустимый формат PEM. Это избавляет от возможных ошибок с интеграцией Kubernetes.
Расширение утилиты сравнения мердж-реквеста до всего файла
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Просматривая изменения в мердж-реквесте, теперь можно расширить утилиту сравнения для каждого файла, чтобы показать весь файл для большего контекста, и оставить комментарии в неизмененных строках.
Выполнение конкретных джобов по мердж-реквестам только при изменении определенных файлов
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
В GitLab 11.6 добавили возможность определения only: merge_requests
для джобов по пайплайнам, чтобы пользователи могли выполнять конкретные задания только при создании мердж-реквеста.
Теперь мы расширяем этот функционал: добавилась логика соединения only: changes
, и пользователи могут выполнять конкретные джобы только для мердж-реквестов и только при изменении определенных файлов.
Спасибо за вклад Хироюки Сато (Hiroyuki Sato)!
Автоматический мониторинг GitLab с Grafana
(CORE, STARTER, PREMIUM, ULTIMATE)
Grafana теперь входит в наш пакет Omnibus, что упрощает понимание функционирования вашего экземпляра.
Настройте grafana['enable'] = true
в gitlab.rb
, и Grafana будет доступна по адресу: https://your.gitlab.instance/-/grafana
. В ближайшем будущем мы также введем панель инструментов GitLab "из коробки".
Просмотр первичных эпиков на боковой панели эпиков
(ULTIMATE, GOLD)
Недавно мы представили дочерние эпики, позволяющие использовать эпики эпиков.
В GitLab 11.9 мы упростили механизм просмотра этой взаимосвязи. Теперь виден не только материнский эпик заданного эпика, но все дерево эпиков на боковой панели справа. Видно, закрыты эти эпики или нет, и можно даже непосредственно перейти к ним.
Ссылка на новую задачу из перемещенной и закрытой задачи
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
В GitLab можно легко переместить задачу в другой проект с помощью боковой панели или быстрого действия. За кадром существующая задача закрывается, и в целевом проекте создается новая задача со всеми скопированными данными, включая системные примечания и атрибуты боковой панели. Это отличная фича.
Учитывая, что имеется системное примечание о перемещении, пользователи, когда просматривают закрытую задачу, испытывают недоумение: не могут не понять, что задача закрыта по причине перемещения.
В этом релизе мы прямо на значке в верхней части страницы закрытой задачи указываем, что она перемещена, а также включаем встроенную ссылку на новую задачу, чтобы любой, кто попал на старую, мог быстро перейти к новой.
Интеграция YouTrack
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
GitLab интегрируется со многими внешними системами отслеживания задач, что облегчает командам использование GitLab для других функций, сохраняя при этом выбранный ими инструмент управления задачами.
В этом релизе мы добавили возможность интеграции YouTrack от JetBrains.
Благодарим за вклад Котова Евгения (Kotau Yauhen)!
Изменение размера дерева файлов мердж-реквеста
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
При просмотре изменений мердж-реквеста теперь можно изменять размер дерева файлов, чтобы отображать длинные имена файлов или экономить место на небольших экранах.
Переход к последним панелям задач
(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)
Панели задач очень удобны, и команды создают по несколько панелей для каждого проекта и группы. Недавно мы добавили панель поиска, чтобы быстро фильтровать все интересующие вас панели.
В GitLab 11.9 мы также представили раздел Recent в выпадающем списке. Таким образом, можно быстро перейти к панелям, с которыми вы недавно взаимодействовали.
Возможность создания разработчиками защищенных ветвей
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Защищенные ветви не дают перемещать или мерджить нерецензированный код. Однако, если никому не разрешено перемещать защищенные ветви, то никто не может создать новую защищенную ветвь: например, ветвь релиза.
В GitLab 11.9 разработчики могут создавать защищенные ветви из уже защищенных ветвей через GitLab или API. Использование Git для перемещения новой защищенной ветви все еще ограничено — чтобы случайно не создавать новые защищенные ветви.
Дедупликация объектов Git для открытых разветвлений (Beta)
(CORE, STARTER, PREMIUM, ULTIMATE)
Разветвление позволяет любому лицу участвовать в проектах с открытым исходным кодом: без разрешения на запись, просто копируя репозиторий в новый проект. Хранение полных копий часто разветвляемых репозиториев Git неэффективно. Теперь с помощью Git alternatives
разветвления совместно используют общие объекты из вышестоящего проекта в пуле объектов, чтобы снизить требования к дисковому хранилищу.
Пулы объектов для разветвлений создаются только для открытых проектов, если подключено хешированное хранилище. Пулы объектов включаются с помощью параметра функции object_pools
.
Фильтрация списка мердж-реквестов по назначенным утверждающим лицам
(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)
Рецензирование кода — обычная для любого успешного проекта практика, но рецензенту бывает сложно отслеживать мердж-реквесты.
В GitLab 11.9 список мердж-реквестов фильтруется по назначенному утверждающему лицу. Таким образом, вы можете найти мердж-реквесты, добавленные вам как рецензенту.
Благодарим за внесенный вклад Глевина Вихерта (Glavin Wiechert)!
Быстрые клавиши для следующего и предыдущего файла в мердж-реквесте
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Просматривая изменения в мердж-реквесте, можно быстро переключаться между файлами с помощью ]
или j
для перехода к следующему файлу и [
или k
для перехода к предыдущему файлу.
Упрощение .gitlab-ci.yml
для serverless проектов
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Созданный на основе функционала include
GitLab CI, serverless шаблон gitlab-ci.yml
значительно упрощен. Чтобы в будущих релизах ввести новые функции, изменения в этот файл вносить не надо.
Поддержка имен хостов Ingress
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Во время деплоя контроллера Kubernetes Ingress некоторые платформы возвращаются к IP-адресу (например, GKE от Google), а другие — к DNS-имени (например, EKS от AWS).
Наша интеграция Kubernetes теперь поддерживает оба типа конечных точек для отображения в разделе clusters
проекта.
Благодарим за вклад Аарона Уокера (Aaron Walker)!
Ограничение доступа для входа в JupyterHub только для участников группы/проекта
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Деплой JupyterHub с помощью интеграции GitLab с Kubernetes — отличный способ обслуживания и использования Jupyter Notebook в больших группах. Также полезно контролировать доступ к ним при передаче конфиденциальных или личных данных.
В GitLab 11.9 возможность входа в экземпляры JupyterHub, развернутые через Kubernetes, ограничена участниками проекта с уровнем доступа “разработчик” (через группу или проект).
Настраиваемые временные диапазоны для схем панели безопасности
(ULTIMATE, GOLD)
Панель безопасности группы включает схему уязвимостей для обзора текущего статуса безопасности проектов группы. Это очень полезно для директоров по безопасности для настройки процессов и понимания механизма работы команды.
В GitLab 11.9 теперь можно выбрать временной диапазон этой схемы уязвимостей. По умолчанию это последние 90 дней, но можно установить промежуток в 60 или 30 дней, в зависимости от необходимого уровня детализации.
Это не влияет на данные в счетчиках или в списке, только на точки данных, отображаемые на схеме.
Добавление джоба по сборке Auto DevOps для тегов
(CORE, STARTER,PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Этап автоматической сборки Auto DevOps создает сборку вашего приложения, используя Dockerfile проекта или пакета сборки Heroku.
В GitLab 11.9 полученный Docker image, встроенный в пайплайн тегов, получает название аналогично традиционным названиям образов с помощью коммита tag вместо коммита SHA.
Благодарим за вклад Аарона Уокера (Aaron Walker)!
Обновление Code Climate до версии 0.83.0
(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)
GitLab Code Quality использует движок Code Climate для проверки того, как изменения влияют на состояние вашего кода и проекта.
В GitLab 11.9 мы обновили движок до последней версии (0.83.0), чтобы предоставить преимущества дополнительного языка и поддержки статического анализа для GitLab Code Quality.
Благодарим за вклад члена команды GitLab Core Такуйя Ногути (Takuya Noguchi)!
Масштабирование и прокрутка панели метрик
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Когда исследуешь аномалии производительности, часто бывает полезно внимательнее взглянуть на отдельные части определенной метрики.
С GitLab 11.9 пользователи смогут масштабировать отдельные временные периоды на панели метрик, прокручивать весь временной промежуток, а также легко возвращаться к виду исходного временного интервала. Это позволяет легко и быстро исследовать нужные события.
SAST для TypeScript
(ULTIMATE, GOLD)
TypeScript — это относительно новый язык программирования на основе JavaScript.
В GitLab 11.9 функция Статического тестирования безопасности приложения (SAST) анализирует и обнаруживает уязвимости кода TypeScript, демонстрируя их в виджете мердж-запроса, на уровне пайплайна и на панели безопасности. Текущее определение джоба sast
менять не нужно, и оно также автоматически включено в Auto DevOps.
SAST для многомодульных проектов Maven
(ULTIMATE, GOLD)
Проекты Maven часто организованы так, чтобы объединять несколько модулей в одном репозитории. Ранее GitLab не мог корректно сканировать такие проекты, и разработчики и специалисты по безопасности не получали отчеты об уязвимостях.
GitLab 11.9 предлагает расширенную поддержку функции SAST для данной конкретной конфигурации проекта, обеспечивая возможность тестировать их на предмет уязвимостей в исходном состоянии. Благодаря гибкости анализаторов конфигурация определяется автоматически, и вам не нужно что-то менять для просмотра результатов по многомодульным приложениям Maven. Как обычно, аналогичные улучшения также доступны в рамках Auto DevOps.
GitLab Runner 11.9
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Сегодня мы также выпустили GitLab Runner 11.9! GitLab Runner — это проект с открытым исходным кодом и используется для запуска заданий CI/CD и отправки результатов обратно в GitLab.
Ниже представлены некоторые изменения в GitLab Runner 11.9:
- Обновление alpine images до alpine 3.9.
- Добавление windows Dockerfiles для gitlab-runner-helper и добавление скрипта для сборки windows image helper.
- Обновление версии docker API. Это также исключает поддержку исполнителя Docker в CentOS 6.
- Добавление возможности маскировки переменных в следе лога для поддержки простой маскировки защищенных переменных в логах, которые появятся в GitLab 11.10.
- Добавление документации для устаревших фич OS, которые появятся в 12.0.
- Обновление команды SNTP, чтобы фиксировать синхронизацию времени в Parallels executor.
- Перемещение нескольких сценариев — включая сценарий ожидания сервиса и сценарий кэширования bash — в Go.
- Исключение команд helper image.
- Извлечение кода из предоставленных refspecs.
- Устранение ошибки выделения памяти при клонировании репозиториев с объектами LFS, превышающими размер доступной оперативной памяти.
Полный список изменений можно найти в журнале изменений GitLab Runner: CHANGELOG.
Улучшения схемы GitLab
(CORE, STARTER, PREMIUM, ULTIMATE)
В GitLab chart внесены следующие улучшения:
- Добавлена поддержка Google Cloud Memorystore.
- Настройки Cron job теперь глобальные, поскольку они используются несколькими сервисами.
- Реестр обновлен до версии 2.7.1.
- Добавлен новый параметр, обеспечивающий совместимость реестра GitLab с версиями Docker до 1.10. Для активации установите
registry.compatibility.schema1.enabled: true
.
Улучшение производительности
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Мы продолжаем улучшать производительность GitLab с каждым выпуском для экземпляров GitLab любого размера. Вот некоторые улучшения в GitLab 11.9:
- Сокращение SQL-запросов в конечной точке API todos.
- Повышение эффективности выпадающих меток в задачах.
- Оптимизация SQL-запросов, используемых для подсчета задач группы при поиске.
- Повышение эффективности визуальных меток на боковой панели.
Улучшения Omnibus
(CORE, STARTER, PREMIUM, ULTIMATE)
В GitLab 11.9 внесены следующие улучшения Omnibus:
- GitLab 11.9 включает Mattermost 5.8, альтернативу Slack с открытым исходным кодом, в последний релиз которого входят MFA для Team Edition, повышенная производительность образов и многое другое. Эта версия также включает улучшения безопасности; рекомендуется обновление.
- Добавлен новый параметр, обеспечивающий совместимость реестра GitLab с версиями Docker до 1.10. Для активации установите
registry['compatibility_schema1_enabled'] = true в gitlab.rb
. - Реестр GitLab теперь экспортирует метрики Prometheus и автоматически контролируется входящим в комплект сервисом Prometheus.
- Добавлена поддержка Google Cloud Memorystore, которая требует
отключения redis_enable_client
. openssl
обновлен до версии 1.0.2r,nginx
— до версии 1.14.2,python
— до версии 3.4.9,jemalloc
— до версии 5.1.0,docutils
— до версии 0.13.1,gitlab-monitor
— до версии 3.2.0.
Устаревшие фичи
GitLab Geo обеспечит хэшированное хранение в GitLab 12.0
GitLab Geo требуется хэшированное хранилище для смягчения конкуренции (race condition) на вторичных нодах. Это было отмечено в gitlab-ce#40970.
В GitLab 11.5 мы добавили это требование в документацию Geo: gitlab-ee # 8053.
В GitLab 11.6 sudo gitlab-rake gitlab: geo: check
проверяет, включено ли хэшированное хранилище и все ли проекты переносятся. См. gitlab-ee#8289. Если вы используете Geo, пожалуйста, запустите эту проверку и мигрируйте как можно скорее.
В GitLab 11.8 постоянно отключаемое предупреждение gitlab-ee!8433 будет отображаться на странице Admin Area › Geo › Nodes, если вышеупомянутые проверки не разрешены.
В GitLab 12.0 Geo будет использовать требования к хэшированному хранилищу. См. gitlab-ee#8690.
Дата удаления: 22 июня 2019 г.
Интеграция Hipchat
Hipchat не поддерживается. Кроме того, в версии 11.9 мы удалили существующую фичу интеграции Hipchat в GitLab.
Дата удаления: 22 марта 2019 г.
Поддержка CentOS 6 для GitLab Runner с помощью Docker executor
GitLab Runner не поддерживает CentOS 6, когда используется Docker в GitLab 11.9. Это результат обновления базовой библиотеки Docker, которая больше не поддерживает CentOS 6. Подробнее смотрите в данной задаче.
Дата удаления: 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 Jardon) за его вклад!
Дата удаления: 22 июня 2019 г.
Удаление старых команд GitLab Runner Helper
В рамках усилий по поддержке Windows Docker executor пришлось отказаться от некоторых старых команд, которые используются для helper image.
В GitLab 12.0 GitLab Runner запускается с помощью новых команд. Это касается только пользователей, которые переопределяют helper image. Подробнее смотрите в данной задаче.
Дата удаления: 22 июня 2019 г.
Разработчики могут удалить теги Git в GitLab 11.10
Удаление или редактирование примечаний к версии для тегов Git в незащищенных ветвях исторически ограничивалось только сопровождающими и владельцами.
Поскольку разработчики могут добавлять теги, а также изменять и удалять незащищенные ветви, разработчики должны иметь возможность удалять теги Git. В GitLab 11.10 мы вносим это изменение в нашу модель разрешений, чтобы улучшить рабочий процесс и помочь разработчикам лучше и эффективнее использовать теги.
Если хотите сохранить это ограничение для сопровождающих и владельцев, используйте защищенные теги.
Дата удаления: 22 апреля 2019 г.
Поддержка Prometheus 1.x в Omnibus GitLab
Начиная с GitLab 11.4, встроенная версия Prometheus 1.0 исключена из Omnibus GitLab. Теперь включена версия Prometheus 2.0. Однако формат метрик несовместим с версией 1.0. Существующие версии можно обновить до 2.0 и, при необходимости, перенести данные с помощью встроенного инструмента.
В GitLab версии 12.0 будет автоматически устанавливаться Prometheus 2.0, если обновления еще не было. Данные из Prometheus 1.0 будут утеряны, т.к. не переносятся.
Дата удаления: 22 июня 2019 г.
TLS v1.1
Начиная с GitLab 12.0 TLS v1.1 будет отключен по умолчанию для повышения безопасности. Это устраняет многочисленные проблемы, включая Heartbleed, и делает GitLab “из коробки” совместимым со стандартом PCI DSS 3.1.
Чтобы немедленно отключить TLS v1.1, установите nginx['ssl_protocols'] = "TLSv1.2"
в gitlab.rband
и запустите gitlab-ctl reconfigure
.
Дата удаления: 22 июня 2019 г.
Шаблон OpenShift для установки GitLab
Официальный gitlab
helm chart — рекомендуемый метод работы GitLab на Kubernetes, включая деплой на OpenShift.
Шаблон OpenShift для установки GitLab устарел и больше не будет поддерживаться в GitLab 12.0.
Дата удаления: 22 июня 2019 г.
Предыдущие определения security jobs
С введением шаблонов CI/CD для security jobs любые предыдущие определения джобов устаревают и будут удалены в GitLab 12.0 или позднее.
Обновите определения джобов, чтобы использовать новый синтаксис и воспользоваться всеми новыми функциями безопасности, предоставляемыми GitLab.
Дата удаления: 22 июня 2019 г.
Раздел System Info в панели администратора
GitLab представляет информацию о вашем экземпляре GitLab в admin/system_info
, но эта информация может быть неточной.
Мы удалим этот раздел панели администратора в GitLab 12.0 и рекомендуем использовать другие возможности мониторинга.
Дата удаления: 22 июня 2019 г.
ivanych
Code Owners в версии Starter есть, а вот эта фича на их основе только в версии Premium. Получается как-то бестолково — от Code Owners мало проку, если они не участвуют в разрешении мерж-реквестов.