- PVSM.RU - https://www.pvsm.ru -

Вышел GitLab 11.7 с Релизами, многоуровневыми вложенными эпиками и реестром NPM-пакетов

Картинка для привлечения внимания

Управление релизами стало намного проще

GitLab 11.7 представляет Релизы [1] для планов начиная с Core. Пользователи теперь будут получать полный «слепок» релиза — исходный код со всеми артефактами проекта. Это избавляет от необходимости вручную собирать в одном месте исходный код, лог сборки, другие метаданные или артефакты, относящиеся к данному релизу. Эта фича послужит основой для более развернутого и проработанного управления релизами в будущем.

Управление портфолио теперь поддерживает более сложные структуры разбивки работы

Многоуровневые вложенные эпики [2] — самое свежее дополнение к Управлению портфолио в GitLab, доступно в плане Ultimate. Вложенные эпики позволяют разбивать работу на многоуровневые структуры для создания более сложных проектов и планов работ. Эпики теперь могут содержать в себе задачи и другие эпики; такая структура позволит создать прямую связь между планированием и задачами для реализации.

Оптимизация разработки на JavaScript с реестрами NPM-пакетов

Gitlab 11.7 в плане Premium добавляет реестры NPM-пакетов [3] напрямую в GitLab, предоставляя стандартный, более безопасный способ совместно использовать NPM-пакеты и управлять их версиями среди проектов. Просто укажите имя пакета и NPM с GitLab сделают все необходимое в том же интерфейсе.

И даже больше

Всегда сложно выбрать, какие фичи включить в краткий обзор ежемесячного релиза, так что мы назовем еще несколько классных нововведений:

  • Закрытие уязвимости с помощью патч-файла [4]: Инструменты безопасности GitLab помогают в обнаружении уязвимостей. С релизом GitLab 11.7 появилась возможность вылечить уязвимость и предложить решение для проектов на Node.js, управляемых Yarn. Пока что это первая официальная фича, закрывающая уязвимости, но точно не последняя!

  • Интеграция с Kubernetes по API [5]: Для тех, кто создает действительно много кластеров Kubernetes или считает себя мастером работы с Kubernetes, мы добавили API Kubernetes, что значительно уменьшит работу вручную и упростит жизнь.

  • Просмотр связей межпроектных конвейеров [6]: Благодаря нашей новой фиче — улучшенному просмотру межпроектных конвейеров — вся необходимая информация теперь будет у вас под рукой.

Дальше вас ждет полный список нововведений релиза GitLab 11.7!

Приглашаем на наши встречи [7]

GitLab MVP badge

MVP [8] этого месяца — MortyChoi [9]

MortyChoi добавил поддержку приватных пакетов Go в подгруппах [10]. Спасибо за этот вклад, который поможет дальнейшей поддержке этого популярного языка в GitLab!

Основные фичи релиза GitLab 11.7

Выпуск релизов ваших проектов

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Наша новая фича — Релизы — позволяет создавать релизы в GitLab и просматривать их на странице обзора. Релизы — «слепок» текущего состояния кода, ссылок и других метаданных или артефактов, относящихся к выпускаемой версии кода. Пользователи вашего проекта теперь легко смогут получить доступ к его последней выпущенной версии.

Publish releases for your projects

Документация по релизам [11] и оригинальный тикет [12].

Многоуровневые вложенные эпики

(ULTIMATE, GOLD)

Эпики и задачи вместе прекрасно работают на гибкость долгосрочных рабочих планов, но до сих пор с их помощью можно было создавать только двухуровневые структуры.

В этом релизе мы представляем вложенные эпики: они теперь могут содержать в себе задачи и другие эпики, что позволит вам создавать многоуровневую систему разбивки работы. Таким образом, вы сможете строить еще более долгосрочные стратегические планы или цели организации — создавать высокоуровневые эпики с несколькими уровнями эпиков внутри, разбивая работу на измеримые с точки зрения поставки части, вплоть до задач.

Multi-level Child Epics

Документация по эпикам [13] и оригинальный тикет [14].

Просмотр связей межпроектных конвейеров

(PREMIUM, ULTIMATE, SILVER, GOLD)

Теперь в графике на странице просмотра конвейера можно развернуть входящие и исходящие зависимости в межпроектных конвейерах и получить представление обо всех задействованных конвейерах — независимо от того, в каком проекте они запускаются или завершаются.

Cross-project pipeline browsing

Документация по графикам конвейеров [15] и оригинальный тикет [16].

Закрытие уязвимости с помощью патч-файла

(ULTIMATE, GOLD)

GitLab может обнаружить различные типы уязвимостей в ваших приложениях и предложить возможные способы их устранения.

Начиная с релиза GitLab 11.7, вы можете скачать патч-файл и применить его к вашему репозиторию с помощью команды git apply. Затем отправьте изменения в репозиторий, и панель безопасности [17] подтвердит, что уязвимость закрыта. Это упрощает процесс решения подобных проблем и сокращает время, необходимое для применения решения. На данный момент сканирование зависимостей сообщает об известных уязвимостях в проектах на NodeJS, работающих под управлением пакетного менеджера yarn, и для этого не требуется никаких дополнительных усилий. Патч будет отображаться в окне сведений об уязвимости, когда он будет доступен.

Remediate vulnerability with patch file

Документация по предлагаемым решениям [18] и оригинальный тикет [19].

Возможность задать ключи-секреты приложения переменными в Kubernetes

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Операторам и администраторам необходимо, чтобы настройка ключей-секретов осуществлялась вне репозитория приложения в целях снижения риска раскрытия конфиденциальных данных. GitLab теперь предлагает возможность настраивать ключи-секреты как переменные среды, которые доступны для приложения в вашем кластере Kubernetes.

Просто начните название переменной с K8S_SECRET_, и соответствующий конвейер CI примет ее как ключ-секрет вашего приложения для Kubernetes.

Configure Kubernetes app secrets as variables

Документация по настройке ключей-секретов [20] и оригинальный тикет [21].

Реестр NPM-пакетов

(PREMIUM, ULTIMATE, SILVER, GOLD)

Разработчикам на JavaScript нужен надежный, стандартизированный способ совместно использовать пакеты NPM и управлять их версиями среди проектов. Реестр пакетов для NPM дает такую возможность разработчикам низкоуровневых служб при публикации своего кода.

В версии GitLab 11.7 мы добавили встроенный в GitLab реестр NPM-пакетов. Это означает, что теперь разработчики могут использовать простую договоренность по названию пакетов для использования библиотеки в любом проекте Node.js, в то время как все остальное сделают NPM и GitLab. Все это доступно через один и тот же интерфейс. Эта фича будет доступна в GitLab Premium.

Посмотрите образец проекта [22], в котором происходит сборка и вставка в реестр.

NPM registry

Документация по реестру NPM-пакетов [23] и оригинальный тикет [24].

Поддержка API для интеграции с Kubernetes

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

В этом релизе мы добавили поддержку API для интеграции с Kubernetes. Это означает что все действия, которые сейчас доступны в GUI — добавление, удаление и вывод списка кластеров Kubernetes — теперь доступны и через API. Это дает командам разработчиков возможность создавать кластеры в процессе разработки.

API support for Kubernetes integration

Документация по API для кластеров [25] и оригинальный тикет [26].

Другие улучшения в GitLab 11.7

Окно поискового фильтра для навигации по доскам задач

(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)

В командах разработчиков часто используется несколько досок задач, что усложняет навигацию по выпадающему списку, если задач слишком много. В этом релизе для решения этой проблемы мы добавили поисковый фильтр. Теперь вы можете просто ввести несколько символов в окне поиска, чтобы быстро сократить количество задач до тех, которые интересны вам, что позволит значительно упростить навигацию.

Search filter box for issue board navigation

Документация по панели задач [27] и оригинальный тикет [28].

Редизайн списка проектов

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Проекты — одна из основных составляющих GitLab, поэтому мы стараемся улучшить внешний вид списков проектов и упростить работу с ними.

В GitLab 11.7 мы представляем новый дизайн пользовательского интерфейса списков проектов, который сфокусирован на удобстве чтения и на предоставлении краткого отчета по активности в проекте. Мы добавили к каждой строке в списке проектов место для дополнительной информации по проекту и пустое пространство и планируем продолжить улучшать дизайн [29] с учетом ваших отзывов.

Project list redesign

Документация по проектам [30] и оригинальный тикет [31].

Поддержка почтовых ящиков с функцией catch-all, включая Microsoft Exchange и Google Groups для фич, использующих входящие email

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

В GitLab есть несколько крутых фич, которые используют входящие email, такие как ответ по email [32], создание тикета по email [33], создание мерж-реквеста (в русской локализации GitLab «запрос на слияние») по email [34] и техническая поддержка по email [35]. Ранее эти фичи можно было использовать, только если ваш email-сервер поддерживал функцию суб-адресации.

Начиная с этого релиза GitLab поддерживает и суб-адресацию, и почтовые ящики с функцией catch-all, используя новый формат писем, который позволяет GitLab интеграцию с еще большим числом email-серверов, включая Microsoft Exchange и Google Groups, которые не поддерживают суб-адресацию.

Документация по входящим email [36] и оригинальный тикет [37].

Импорт задач в формате CSV

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Зачастую, когда команды разработчиков начинают использовать GitLab, может оказаться, что они используют разные инструменты и у них есть унаследованные данные. Возможно сейчас вы пользуетесь Jira, но хотели бы перейти к управлению задачами в GitLab.

Начиная с этого релиза этот переход становится намного проще. Так как многие системы отслеживания задач поддерживают экспорт CSV-файлов, теперь вы можете импортировать такие задачи в GitLab, что позволяет вам продолжать работать над текущими задачами, импортируя унаследованные данные в GitLab для дальнейшего поиска и извлечения по необходимости. Это будет работать с Jira или с любой другой системой отслеживания задач, которые поддерживают экспорт CSV.

Также в GitLab уже есть фича для экспорта CSV-файлов [38].

Import issues CSV

Документация по импорту CSV-файлов [39] и оригинальный тикет [40].

Генерация краткой SHA-последовательности как переменной окружения

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

В Git SHA представляют собой состоящие из 40 символов указатели на определенные объекты (например, коммиты) в репозитории Git. Зачастую нет необходимости в том, чтобы выводить на экран всю строку, и вы хотите, чтобы были показаны только первые восемь символов SHA для быстрого перехода по ссылке, хотя при этом эта последовательность может быть не уникальной. Мы добавили переменную окружения CI_COMMIT_SHORT_SHA для конвейера CI для решения этой задачи, что позволит вам сгенерировать первую часть SHA коммита.

Short commit SHA available as environment variable

Документация по переменным окружения [41] и оригинальный тикет [42].

Более строгие ограничения по подтверждению своих мерж-реквестов

(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)

Ревью кода — это практика, которая должна проводиться в любом успешном проекте кем-то, кто не является автором вносимого изменения. По умолчанию подтверждение своих мерж-реквестов запрещено, однако в этом ограничении учитывалось авторство мерж-реквеста, а не коммитов, входящих в него.

Начиная с GitLab 11.7 ограничения по подтверждению своих мерж-реквестов также будет предотвращать подтверждение мерж-реквестов людьми, которые вносили в них изменения, так что мерж-реквесты за авторством нескольких разработчиков будут получать полностью независимые ревью и подтверждения.

Документация по подтверждению мерж-реквестов [43] и оригинальный тикет [44].

Поддержка авторизации для сетевых includes

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

При включении внешних файлов в ваше определение конвейера с использованием ключевого слова include эти файлы запрашиваются через HTTP/HTTPS. Теперь вы можете получить доступ к файлам YAML в другом проекте без публичного доступа (например, приватный проект на GitLab.com), используя данные авторизации, с которыми работает конвейер.

Документация по YAML includes [45] и оригинальный тикет [46].

Фильтрация уязвимостей на панели безопасности группы

(ULTIMATE, GOLD)

Панель безопасности группы позволяет командам, отвечающим за безопасность, держать все под контролем, показывая уязвимости, которые влияют на их группы.

С GitLab 11.7 пользователи могут фильтровать отображаемые уязвимости по серьезности, типу отчета и имени проекта. Благодаря этому они могут сосредоточиться на том, что им нужно, и быстрее получить доступ к своим данным, что особенно полезно, когда в списке много записей.

Filter vulnerabilities in the Group Security Dashboard

Документация по просмотру уязвимостей [47] и оригинальный тикет [48].

Просмотр результатов сканирования зависимостей на панели безопасности группы

(ULTIMATE, GOLD)

Панель безопасности группы была первоначально выпущена только с результатами SAST [49], поэтому пользователи не могли управлять другими типами уязвимостей с помощью этой фичи.

С GitLab 11.7 результаты сканирования зависимостей [50] были добавлены в набор доступных данных. Если вы уже используете новый синтаксис отчетов [51], вы автоматически увидите результаты на панели безопасности. Шаблон Auto DevOps [52] также был обновлен, и теперь для него требуется GitLab Runner [53] версии 11.5 или выше для правильного запуска работы сканирования зависимостей.

Show Dependency Scanning results in the Group Security Dashboard

Документация по панели безопасности группы [54] и оригинальный тикет [55].

Включение файлов CI/CD из других проектов и шаблонов

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Ключевое слово include позволяет пользователям динамически создавать конвейеры CI/CD с включением внешних файлов в конфигурацию. Ранее это было возможно только для файлов в репозитории проекта или для удаленных файлов, загружаемых по HTTP.

С GitLab 11.7 пользователи могут включать свои фрагменты конфигурации также из других проектов и из предопределенных шаблонов. GitLab будет включать фрагменты для конкретных работ, таких как sast или dependency_scanning, чтобы пользователи могли ссылаться на них вместо копирования и вставки текущего определения. Работы будут автоматически обновлены до последней версии при обновлении GitLab, поэтому не нужно вносить изменения вручную.

Include CI/CD files from other projects and templates

Документация по YAML includes [45] и оригинальный тикет [56].

Режим RBAC по умолчанию при создании кластера Kubernetes

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Обеспечение безопасности кластера Kubernetes жизненно необходимо для контроля и ограничения доступа пользователей к кластеру и разрешенных этим людям действий.

Начиная с GitLab 11.7, все кластеры по умолчанию будут поддерживать RBAC во время создания, обеспечивая более безопасную и защищенную инфраструктуру.

Документация по кластерам и RBAC [57] и оригинальный тикет [58].

Поддержка приватных пакетов Go в подгруппах

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Пакеты Go, размещенные на GitLab, могут быть установлены с помощью команды go get, однако ранее это не поддерживалось для приватных проектов в подгруппах. Начиная с GitLab 11.7, любой проект можно использовать в качестве пакета Go, включая приватные проекты в подгруппах.

Приватные пакеты поддерживаются командой go get с использованием файла .netrc и личного токена доступа в поле password.

Спасибо MortyChoi [9] за эту фичу!

Документация по подгруппам [59] и оригинальный тикет [60].

Поддержка метрик NGINX Ingress 0.16.0+

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

С релизом NGINX Ingress 0.16.0 [61], метрики Prometheus теперь встраиваются нативным образом [62], а не полагаются на внешние иструменты экспорта.

GitLab 11.7 теперь включает поддержку метрик [63], экспортируемых из NGINX Ingress 0.16.0+, и автоматически обнаруживает и отображает пропускную способность, задержку и частоту ошибок развертывания.

Документация по NGINX Ingress [63] и оригинальный тикет [64].

Пропуск сборок CI во время git push

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Когда пользователи не хотели запускать конвейер CI/CD для некоторого коммита, они могли добавить специальное примечание [ci skip] или [skip ci] в описание коммита. Однако многие пользователи не хотят или не могут изменить свои описания коммитов для добавления дополнительной информации.

Начиная с GitLab 11.7 при использовании Git версии 2.10 и выше, пользователи могут задействовать настройки Git push [65], чтобы предотвратить запуск конвейера при отправке коммита на GitLab. Теперь можно использовать git push -o ci.skip, чтобы достичь той же цели, не изменяя описание коммита.

Спасибо Jonathon Reinhart [66] за эту фичу!

Документация по пропуску работ CI [67] и оригинальный тикет [68].

GitLab Runner 11.7

(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)

Мы также выпускаем GitLab Runner 11.7! GitLab Runner — это проект с открытым исходным кодом, используемый для запуска работ CI/CD и отправки результатов обратно в GitLab.

Самые важные изменения:

Список всех изменений можно найти в CHANGELOG [71] GitLab Runner'а.

Документация по GitLab Runner [72].


Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 11.7 shipped with Releases, Multi-level Child Epics, and NPM Registry [73].

Над переводом с английского работали cattidourden [74], maryartkey [75], ainoneko [76] и rishavant [77].

Автор: aionin

Источник [78]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/307359

Ссылки в тексте:

[1] Релизы: #vypusk-relizov-vashih-proektov

[2] Многоуровневые вложенные эпики: #mnogourovnevye-vlozhennye-epiki

[3] реестры NPM-пакетов: #reestr-npm-paketov

[4] Закрытие уязвимости с помощью патч-файла: #zakrytie-uyazvimosti-s-pomoschyu-patch-fayla

[5] Интеграция с Kubernetes по API: #podderzhka-api-dlya-integracii-s-kubernetes

[6] Просмотр связей межпроектных конвейеров: #prosmotr-svyazey-mezhproektnyh-konveyerov

[7] Приглашаем на наши встречи: https://about.gitlab.com/events/

[8] MVP: https://about.gitlab.com/community/mvp/

[9] MortyChoi: https://gitlab.com/mortyccp

[10] поддержку приватных пакетов Go в подгруппах: #podderzhka-privatnyh-paketov-go-v-podgruppah

[11] Документация по релизам: https://docs.gitlab.com/ee/user/project/releases/index.html

[12] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/41766

[13] Документация по эпикам: https://docs.gitlab.com/ee/user/group/epics/

[14] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/8333

[15] Документация по графикам конвейеров: https://docs.gitlab.com/ee/ci/pipelines.html#pipeline-graphs

[16] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/2122

[17] панель безопасности: https://docs.gitlab.com/ee/user/project/security_dashboard.html

[18] Документация по предлагаемым решениям: https://docs.gitlab.com/ee/user/project/merge_requests/#solutions-for-dependency-scanning-ultimate

[19] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/5656

[20] Документация по настройке ключей-секретов: https://docs.gitlab.com/ee/topics/autodevops/#application-secret-variables

[21] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/49056

[22] образец проекта: https://gitlab.com/gitlab-org/examples/npm-publish

[23] Документация по реестру NPM-пакетов: https://docs.gitlab.com/ee/user/project/packages/npm_registry.html

[24] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/5934

[25] Документация по API для кластеров: https://docs.gitlab.com/ee/api/project_clusters.html

[26] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/40473

[27] Документация по панели задач: https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards-starter

[28] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/7715

[29] улучшать дизайн: https://gitlab.com/gitlab-org/gitlab-ce/issues/55669

[30] Документация по проектам: https://docs.gitlab.com/ee/user/project/

[31] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/51944

[32] ответ по email: https://docs.gitlab.com/ee/administration/reply_by_email.html

[33] создание тикета по email: https://docs.gitlab.com/ee/user/project/issues/create_new_issue.html#new-issue-via-email

[34] создание мерж-реквеста (в русской локализации GitLab «запрос на слияние») по email: https://docs.gitlab.com/ee/user/project/merge_requests/index.html#create-new-merge-requests-by-email

[35] техническая поддержка по email: https://docs.gitlab.com/ee/user/project/service_desk.html

[36] Документация по входящим email: https://docs.gitlab.com/ee/administration/incoming_email.html

[37] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/29951

[38] экспорта CSV-файлов: https://docs.gitlab.com/ee/user/project/issues/csv_export.html

[39] Документация по импорту CSV-файлов: https://docs.gitlab.com/ee/user/project/issues/csv_import.html

[40] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/49231

[41] Документация по переменным окружения: https://docs.gitlab.com/ee/ci/variables/#predefined-environment-variables

[42] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/48061

[43] Документация по подтверждению мерж-реквестов: https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html#eligible-approvers

[44] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/3845

[45] Документация по YAML includes: https://docs.gitlab.com/ee/ci/yaml/#include

[46] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/53903

[47] Документация по просмотру уязвимостей: https://docs.gitlab.com/ee/user/group/security_dashboard/#viewing-the-vulnerabilities

[48] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/6240

[49] SAST: https://docs.gitlab.com/ee/user/project/merge_requests/sast.html

[50] сканирования зависимостей: https://docs.gitlab.com/ee/user/project/merge_requests/dependency_scanning.html

[51] новый синтаксис отчетов: https://docs.gitlab.com/ee/ci/yaml/#artifactsreportsdependency_scanning-ultimate

[52] Auto DevOps: https://docs.gitlab.com/ee/topics/autodevops/

[53] GitLab Runner: https://docs.gitlab.com/runner/

[54] Документация по панели безопасности группы: https://docs.gitlab.com/ee/user/group/security_dashboard/#supported-features

[55] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ee/issues/8481

[56] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/53445

[57] Документация по кластерам и RBAC: https://docs.gitlab.com/ee/user/project/clusters/#role-based-access-control-rbac

[58] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/53696

[59] Документация по подгруппам: https://docs.gitlab.com/ee/user/group/subgroups/

[60] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/45055

[61] NGINX Ingress 0.16.0: https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0160

[62] встраиваются нативным образом: https://github.com/kubernetes/ingress-nginx/pull/2608

[63] поддержку метрик: https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/nginx_ingress.html

[64] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/50431

[65] настройки Git push: https://git-scm.com/docs/git-push#git-push--oltoptiongt

[66] Jonathon Reinhart: https://gitlab.com/JonathonReinhart

[67] Документация по пропуску работ CI: https://docs.gitlab.com/ee/ci/yaml/#skipping-jobs

[68] оригинальный тикет: https://gitlab.com/gitlab-org/gitlab-ce/issues/18667

[69] Завершение сеанса веб-терминала (Web Terminal) при отмене сборки: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1058

[70] Фикс разделителя путей для CI_PROJECT_DIR в Windows: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1128

[71] CHANGELOG: https://gitlab.com/gitlab-org/gitlab-runner/blob/v11.7.0/CHANGELOG.md

[72] Документация по GitLab Runner: https://docs.gitlab.com/runner

[73] GitLab 11.7 shipped with Releases, Multi-level Child Epics, and NPM Registry: https://about.gitlab.com/2019/01/22/gitlab-11-7-released/

[74] cattidourden: https://habr.com/ru/users/cattidourden/

[75] maryartkey: https://habr.com/ru/users/maryartkey/

[76] ainoneko: https://habr.com/ru/users/ainoneko/

[77] rishavant: https://habr.com/ru/users/rishavant/

[78] Источник: https://habr.com/ru/post/438478/?utm_campaign=438478