Управление релизами стало намного проще
GitLab 11.7 выпускает Releases в GitLab Core. Теперь у пользователей есть снэпшоты релиза, включающие не только исходный код, но и все связанные артефакты. Больше не надо вручную собирать исходный код, выходные данные сборки и прочие метаданные или артефакты, связанные с выпущенной версией вашего кода. Кроме того, Releases — основа для более широкого и надежного взаимодействия релизов в будущем.
Управление портфелем поддерживает более сложные структуры декомпозиции работ
Multi-level Child Epics — это новейшее дополнение к управлению портфелем GitLab, доступное в Ultimate. Child Epics позволяют создавать многоуровневые рабочие структуры, помогая управлять более сложными проектами и рабочими планами. Теперь эпик содержит как задачи, так и эпики. Такая структура обеспечивает прямую связь между планируемыми и реализуемыми задачами для их внедрения.
Оптимизация разработки JavaScript с помощью реестров NPM
Gitlab 11.7 Premium поставляет реестры NPM непосредственно в GitLab, предоставляя стандартный, более безопасный способ совместного использования и контроля версий пакетов NPM между проектами. Просто поделитесь именем пакета, а NPM и GitLab обработают все остальное в одном интерфейсе!
И многое другое
Определить, какие функции наших ежемесячных релизов являются главными, — тяжкий выбор, поэтому назовем пару дополнительных интересных функций:
- Устранить уязвимость с помощью файла коррекции: Как вы знаете, функции безопасности GitLab помогают обнаружить уязвимые объекты. С GitLab 11.7 появится возможность исправить эту уязвимость и предложить решение для проектов Node.js, управляемых с помощью Yarn. И хотя это наша первая официальная функция исправления, можете быть уверены: это только начало!
- Интеграция API с Kubernetes: Если вы создаете много кластеров или считаете себя виртуозом Kubernetes, то вот вам API Kubernetes — он значительно сократит ручные действия и сильно облегчит вам жизнь!
- Просмотр конвейера между проектами: Благодаря возможности просмотра конвейеров между проектами, вы можете легко узнать, какая информация у вас под рукой!
Дальше — полный список возможностей для GitLab 11.7!
Основные функции, добавленные в выпуск GitLab 11.7
Публикация релизов для ваших проектов
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Наша новая функция Releases добавляет возможность создавать релизы в GitLab и просматривать их на сводной странице. Релизы представляют собой снэпшот источника, ссылок и других метаданных или артефактов, связанных с выпущенной версией вашего кода, и позволяют пользователям вашего проекта легко находить последнюю выпущенную версию вашего кода.
Многоуровневые дочерние эпики (Multi-level Child Epics)
(Доступно в: ULTIMATE, GOLD)
Эпики и задачи прекрасно работают вместе, обеспечивая гибкость в определении долгосрочных планов работы. Однако они все еще имеют лимит — предоставляют только двухслойную структуру.
В этом выпуске мы представляем дочерние эпики. Теперь у вас может быть эпик, содержащий как задачи, так и эпики. Это позволяет создавать многоуровневые рабочие структуры. Представляйте даже более долгосрочные стратегические инициативы или цели организации как эпики высокого уровня, а под ними будет еще несколько уровней эпиков — разбивайте их на более ощутимые результаты, вплоть до задач.
Документация
Задача
Просмотр конвейера между проектами
(Доступно в: PREMIUM, ULTIMATE, SILVER, GOLD)
Расширяйте восходящие или нисходящие межпроектные конвейеры прямо из вида конвейера, обеспечивая видимость сквозных конвейеров? — независимо от того, в каком проекте они начинаются или заканчиваются.
Устранить уязвимость с помощью файла коррекции
(Доступно в: ULTIMATE, GOLD)
GitLab обнаруживает различные типы уязвимостей в ваших приложениях, а также предлагает возможные способы их устранения.
Начиная с GitLab 11.7, вы можете скачать файл коррекции и применить его к своему репозиторию с помощью команды git apply
. Потом отправьте изменение обратно в репозиторий, и панель мониторинга безопасности подтвердит, что уязвимость исчезла! Процесс разрешения — проще, а время, необходимое для развертывания решения, — меньше. Сейчас мы поддерживаем уязвимости сканирования зависимостей для менеджера пакетов yarn
, и для того, чтобы это работало, не нужно ничего менять. Патч будет доступен всегда, когда это возможно, в окне сведений об уязвимости.
Настройте секреты приложения Kubernetes как переменные
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Операторам и администраторам надо, чтобы настройка секретной информации осуществлялась вне хранилища приложения — чтобы снизить риск и уязвимость конфиденциальных данных. Теперь GitLab предлагает возможность конфигурировать секретные данные как переменные среды, которые становятся доступными для приложения в кластере Kubernetes.
Просто добавьте в свою переменную K8S_SECRET_
, и соответствующий конвейер CI примет секретную переменную вашего приложения, чтобы заполнить секрет Kubernetes.
Реестр NPM
(Доступно в: PREMIUM, ULTIMATE, SILVER, GOLD)
Разработчики JavaScript нуждаются в безопасном, стандартизированном способе совместного использования и управления версиями пакетов NPM между проектами. Реестр NPM предлагает разработчикам сервисов низкого уровня способ публикации своего кода именно таким способом.
В GitLab 11.7 мы с гордостью предлагаем реестры NPM, встроенные непосредственно в GitLab. Можно совместно использовать простое соглашение об именах пакетов для использования этой библиотеки в любом проекте Node.js, а NPM и GitLab сделают все остальное, используя единый интерфейс. Функция доступна в GitLab Premium.
Вот пример проекта, который собирает и передает в реестр GitLab NPM. Как все просто!
Поддержка API для интеграции с Kubernetes
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
В этом выпуске мы добавили в нашу интеграцию с Kubernetes поддержку API. Все действия, доступные сейчас в графическом интерфейсе: такие как перечисление, добавление и удаление кластера Kubernetes, — теперь доступны и через API. Команды используют новый функционал для создания кластера в рамках своего рабочего процесса.
Другие улучшения в GitLab 11.7
Поле фильтра поиска для навигации по доске задач
(Доступно в: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)
Команды часто используют много досок задач для конкретного проекта или панели. Это затрудняет навигацию по выпадающему списку — если список очень длинный. В этом выпуске мы представляем фильтр поиска. Просто введите несколько символов в поле фильтра, чтобы быстро сузить список задач, которые вас интересуют.
Редизайн списка проектов
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Проекты — полноправные резиденты GitLab, и мы хотим сделать списки проектов визуально приятными и удобными для анализа.
В GitLab 11.7 мы представили редизайн пользовательского интерфейса для списка проектов: особый упор — на удобочитаемость и краткое описание деятельности проекта. Мы предоставили каждой строке проекта дополнительную информацию о проекте и пробелы, и продолжим итерацию дизайна на основе обратной связи.
Поддержка универсальных почтовых ящиков, включая Microsoft Exchange и Google Groups, для функций входящей электронной почты
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
GitLab обладает некоторыми замечательными фичами, которые используют входящую электронную почту. Например, ответ по электронной почте, новая задача по электронной почте, новый мерж-реквест по электронной почте и служба поддержки. Ранее эти функции можно было использовать, только используя сервер электронной почты, настроенный на субадресацию.
GitLab теперь поддерживает почтовые ящики электронной почты с субадресацией и перехватом, используя новый формат электронной почты, что позволяет использовать больше почтовых серверов с GitLab, включая Microsoft Exchange и Google Groups (которые не поддерживают субадресацию).
Импорт задач CSV
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Зачастую команды, начиная пользоваться GitLab, используют разные инструменты и устаревшие данные. Возможно, вы сейчас используете Jira, но хотели бы перейти к задачам GitLab.
Теперь переход стал проще. Многие системы отслеживания проблем допускают экспорт CSV, так что импортируйте такой экспорт задач в GitLab — это позволит продолжать управлять существующей работой, импортируя устаревшие данные в GitLab, и, по мере необходимости, осуществлять поиск и извлечение. Это будет работать с Jira или любой системой отслеживания задач, которая генерирует экспорт CSV.
GitLab также имеет функцию экспорта в CSV.
SHA короткой фиксации доступен в качестве переменной среды
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Git SHA — это 40-символьные указатели на конкретные объекты (т.е. коммиты) в репозитории Git. Зачастую отображать полную строку — громоздко, и хочется показать первые восемь символов в качестве быстрой (хотя и не гарантированно уникальной) ссылки. Для этой цели мы добавили переменную среды CI_COMMIT_SHORT_SHA
в конвейер CI, что даст вам первую часть создаваемого SHA коммита.
Более строгие ограничения на самоутверждение
(Доступно в: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)
Проверка кода — это неотъемлемая практика каждого успешного проекта, и проводить ее должен не автор изменения. По умолчанию самоутверждение мерж-реквестов не разрешено, но критерием для запрета служит не коммит в мерж-реквесте, а авторство запроса.
Начиная с GitLab 11.7, эти ограничения также не дают авторам утверждать собственные изменения в мерж-реквестах. Так что изменения, созданные несколькими инженерами, получают полностью независимые ревью кода и одобрения.
Поддержка авторизации для выборки инклудов
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Когда включаете в определение конвейера внешние файлы с использованием ключевого слова include
, они выбираются с использованием запросов HTTP / HTTPS. Теперь вы сможете получить доступ к yamls в другом проекте без открытого доступа (например, частный проект на GitLab.com), используя учетные данные, с которыми работает конвейер.
Фильтр уязвимостей в панели безопасности группы
(Доступно в: ULTIMATE, GOLD)
Панель безопасности группы позволяет командам безопасности держать все под контролем, показывая уязвимости, которые влияют на их группы.
С помощью GitLab 11.7 фильтруйте отображаемые уязвимости по серьезности, типу отчета и имени проекта. Благодаря этой способности можно сосредоточиться на том, что нужно, и быстрее получать доступ к своим данным, что особенно полезно, когда в списке много записей.
Показать результаты сканирования зависимостей на панели безопасности группы
(Доступно в: ULTIMATE, GOLD)
Панель безопасности группы была первоначально выпущена только с результатами SAST, поэтому пользователи не могли управлять другими типами уязвимостей с помощью этой функции.
С GitLab 11.7 к набору доступных данных добавляются результаты сканирования зависимостей. Если вы уже используете новый синтаксис отчета, то автоматически увидите результаты на информационной панели. Шаблон Auto DevOps также обновлен, и теперь для правильного выполнения задания сканирования зависимостей требуется GitLab Runner 11.5 или выше.
Включить файлы CI / CD из других проектов и шаблонов
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Ключевое слово include
позволяет пользователям динамически создавать конвейеры CI/CD, включая в конфигурацию внешние файлы. Ранее это было возможно только для файлов в репозитории проекта или для удаленных файлов, загружаемых по HTTP.
С GitLab 11.7 включайте свои фрагменты конфигурации также из других проектов и из предопределенных шаблонов. GitLab будет включать фрагменты для определенных заданий (jobs), таких как sast
или dependency_scanning
, так что пользователи могут ссылаться на них, а не копипастить текущее определение. Задания будут автоматически обновлены до последней версии вместе с GitLab, поэтому вручную ничего изменять не надо.
Режим RBAC по умолчанию для создания кластера Kubernetes
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Без защиты кластера Kubernetes, нельзя контролировать и ограничивать доступ к кластеру, а также определять, кому какие действия в нем разрешены.
Начиная с GitLab 11.7, все кластеры на момент создания по умолчанию будут поддерживать RBAC, обеспечивая более безопасную и защищенную инфраструктуру.
Поддержка частных пакетов Go в подгруппах
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Пакеты Go, размещенные в GitLab, можно установить с помощью go get
, однако эта функция не поддерживалась частными проектами в подгруппах. Начиная с GitLab 11.7, любой проект можно использовать в качестве пакета Go, включая частные проекты в подгруппах.
Частные пакеты поддерживаются командой go get
с использованием файла .netrc
и с использованием токена личного доступа в поле пароля.
Благодарим МортиЧои за внесенный вклад!
Поддержка метрик NGINX Ingress 0.16.0+
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
С выпуском NGINX Ingress 0.16.0 метрики Prometheus теперь встроены изначально, а не зависят от внешнего экспортера.
GitLab 11.7 теперь включает поддержку метрик, экспортируемых NGINX Ingress 0.16.0+, и автоматически обнаруживает и отображает пропускную способность, задержку и частоту ошибок развертываний.
GitLab Runner 11.7
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Сегодня мы также выпустили GitLab Runner 11.7! GitLab Runner — это проект с открытым исходным кодом для запуска заданий CI/CD и отправки результатов обратно в GitLab.
Самые интересные изменения:
- Аннулировать сеанс веб-терминала при отмене сборки
- Исправить разделитель пути для CI_PROJECT_DIR в Windows
Список всех изменений можно найти в журнале изменений GitLab Runner: CHANGELOG.
Пропустить сборку CI во время git push
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Если не надо запускать конвейер CI/CD, в коммитах можно было добавить примечание к сообщению фиксации с помощью [ci skip]
или [skip ci]
. Однако многие пользователи не хотят или не могут изменить свои сообщения о фиксации таким образом, чтобы они содержали дополнительную информацию.
Начиная с GitLab 11.7, пользователи могут использовать параметры Git push в Git 2.10 или новее при отправке в GitLab, чтобы предотвратить запуск конвейера для их пуш-уведомления. Использование git push -o ci.skip
теперь позволит достичь той же цели без каких-либо изменений в сообщении фиксации.
Благодарим Джонатона Рейнхарта за внесенный вклад!
Улучшение производительности
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Мы продолжаем улучшать производительность GitLab с каждым выпуском для экземпляров GitLab любого размера.
В GitLab 11.7 мы значительно улучшили производительность ревью мерж-реквестов путем кэширования синтаксиса выделенных дискуссионных различий.
Другие заслуживающие внимания улучшения производительности включают в себя:
- Повышение производительности пуш-уведомлений путем пропуска предварительных проверок, которые были переданы в другие ветви
- Удаление лишних счетчиков в поиске фрагментов
- Ускорение открытия списка форумов при наличии списков правопреемников
Улучшения Omnibus
(Доступно в: CORE, STARTER, PREMIUM, ULTIMATE)
GitLab 11.7 включает в себя Mattermost 5.6, альтернативу Slack с открытым исходным кодом, новейшая версия которой содержит интерактивные диалоги сообщений, новые инструменты администратора, поддержку украинского языка и многое другое.
Теперь для официальных GitLab AMI images доступна расширенная поддержка сети, что позволяет использовать дополнительные типы экземпляров и увеличить пропускную способность.
Поддержка Debian 7 Wheezy
GitLab 11.7 станет последним релизом с поддержкой Debian 7 Wheezy.
Debian Wheezy больше не поддерживается проектом Debian с мая 2018 года.
Дата удаления: 22 января 2019 г.
Поддержка Raspbian Jessie
GitLab 11.8 станет последним релизом с поддержкой Raspbian Jessie.
Jessie перешла на LTS, и последнему Raspbian Jessie image уже больше года. Мы рекомендуем пользователям обновиться до Raspbian Stretch.
Дата удаления: 22 февраля 2019 г.
Поддержка CentOS 6 для GitLab Runner
GitLab 11.9 станет последним релизом с поддержкой раннеров для CentOS 6, потому что мы планируем обновиться до более актуальной библиотеки Docker, которая их более не поддерживает. Подробнее смотрите в данной задаче.
Дата удаления: 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 будет отключен по умолчанию в версии 12.0
Начиная с GitLab 12.0, TLS v1.1 будет отключен по умолчанию для повышения безопасности. Это устраняет многочисленные проблемы, включая Heartbleed, и делает GitLab совместимым в исходном состоянии со стандартом PCI DSS 3.1.
Чтобы немедленно отключить TLS v1.1, установите nginx ['ssl_protocols'] = "TLSv1.2"
в gitlab.rband
и запустите gitlab-ctlconfigure
.
Дата удаления: 22 июня 2019 г.
Шаблон OpenShift для установки GitLab
Официальная диаграмма gitlab
helm — рекомендуемый метод работы GitLab на Kubernetes, включая развертывание на OpenShift.
Шаблон OpenShift для установки GitLab устарел и больше не будет поддерживаться в GitLab 12.0.
Дата удаления: 22 июня 2019 г.
GitLab Geo обеспечит хэшированное хранение в GitLab 12.0
GitLab Geo требуется хэшированное хранилище для смягчения гонка фронтов на подчиненных узлах. Это было отмечено в gitlab-ce#40970.
В версии 11.5 мы добавили это требование в документацию Geo: gitlab-ee # 8053.
В версии 11.6 sudo gitlab-rake gitlab: geo: check
проверяет, включено ли хешированное хранилище и все ли проекты переносятся: gitlab-ee # 8289. Если вы используете Geo, пожалуйста, запустите эту проверку и мигрируйте как можно скорее.
В 11.8 постоянно отключаемое предупреждение gitlab-ee! 8433 будет отображаться на странице “Admin Area › Geo › Nodes”, если вышеупомянутые проверки не разрешены.
В 12.0 Geo будет применять требование к хэш-хранилищу: gitlab-ee # 8690.
Дата удаления: 22 июня 2019 г.
Google OAuth2 SSO поддерживается только в GitLab 11.7+
7 марта 2019 года Google закрывает все API Google+. Подробнее об анонсе от Google читайте здесь.
Поскольку версии GitLab до 11.7 используют эти API для Google OAuth2, единый вход Google в этих версиях больше работать не будет. GitLab 11.7 и выше будет поддерживать Google SSO.
Если для проверки подлинности ваш экземпляр использует Google OAuth2, рекомендуем обновить его до 11.7.
Дата удаления: 7 марта 2019 г.
Разработчики могут удалить теги Git в GitLab 11.9
Редактирование / удаление тегов Git в незащищенных ветвях исторически ограничивалось только сопровождающими и владельцами.
Поскольку разработчики могут добавлять теги, а также изменять и удалять незащищенные ветви, разработчики должны иметь возможность изменять и удалять теги Git. В GitLab 11.9 мы вносим это изменение в нашу модель разрешений — чтобы улучшить рабочий процесс и помочь разработчикам лучше и эффективнее использовать теги.
Дата удаления: 22 марта 2019 г.
Интеграция Hipchat
Hipchat будет прекращен. Поэтому мы удаляем существующую функцию интеграции GitLab Hipchat как часть релиза 11.9.
Дата удаления: 22 марта 2019 г.
Барометр обновлений
Чтобы перейти на GitLab версии 11.7 с последней версии 11.6, остановка работы не требуется. Обратитесь к документации по обновлениям без простоев.
Миграция базы данных в этом выпуске может занять от 30 до 60 минут для экземпляров, по размеру аналогичных GitLab.com. Для меньших экземпляров общее время не должно превышать примерно 15 минут.
Мы рекомендуем пользователям GitLab Geo обратиться к документации по обновлению Geo.
Список изменений
Обратитесь к списку изменений, чтобы просмотреть все изменения:
Установка
Если вы настраиваете новую установку GitLab, см. страницу загрузки GitLab.
Обновление
Ознакомьтесь с нашей страницей обновлений.
Планы подписок GitLab
GitLab доступен в двух вариантах: самоуправляемом и в качестве облачного сервиса (SaaS).
Самоуправляемый: Выполните развертывание локально или на вашей любимой облачной платформе.
- Core: Для небольших команд, личных проектов или тестирования GitLab с неограниченным временем.
- Starter: Для команд, участники которых находятся в одном и том же месте, и занятых небольшим количеством проектов, нуждающихся в профессиональной поддержке.
- Premium: Для распределенных команд, которым требуются расширенные функции, высокая доступность и поддержка в режиме 24/7.
- Ultimate: Для предприятий, которые хотят согласовать свою стратегию и выполнение проектов с требованиями повышенной безопасности и совместимости.
Облачный сервис SaaS — GitLab.com: поддерживается, управляется и администрируется командой GitLab; возможны бесплатные и платные подписки для отдельных лиц и команд.
- Free: Неограниченные частные репозитории и неограниченное число сотрудников в проекте. Частные проекты получают доступ к функциям Free, открытые проекты получают доступ к функциям Gold.
- Bronze: Для команд, которым требуется доступ к более расширенным функциям рабочего процесса.
- Silver: Для команд, которым нужны более надежные возможности DevOps, совместимость и более быстрая поддержка.
- Gold: Лучше всего подходит при наличии большого количества заданий конвейера CI/CD. Члены команды каждого публичного проекта могут пользоваться функциями Gold бесплатно, независимо от их плана подписки.
Автор: nAbdullin