ProHoster > Блог > адміністрування > GitLab 11.11: кілька відповідальних для мердж-реквестів та покращення для контейнерів
GitLab 11.11: кілька відповідальних для мердж-реквестів та покращення для контейнерів
Більше можливостей для спільної роботи та додаткові повідомлення
Ми в GitLab постійно шукаємо нові способи покращити спільну роботу по всьому життєвому циклу DevOps. Ми з радістю повідомляємо, що з цього випуску підтримуємо декілька відповідальних осіб для одного мердж-реквесту! Ця функція доступна з рівня GitLab Starter і по-справжньому втілює наш девіз: «Кожен може зробити свій внесок». Ми знаємо, що з одним мердж-реквестом може працювати багато людей, щоб все точно було гаразд, і тепер ви маєте можливість призначати кілька відповідальних за мердж-реквести!
Скорочення витрат з підтримкою контейнерів Docker у Windows та підготовкою кластерів Kubernetes на рівні екземпляра
Ми обожнюємо контейнери! Контейнери витрачають менше ресурсів системи в порівнянні з віртуальними машинами та покращують переносимість програми. З випуску GitLab 11.11 ми підтримуємо Windows Container Executor для GitLab RunnerТому тепер ви можете використовувати контейнери Docker в Windows і насолоджуватися розширеними можливостями оркестрації пайплайнів і управління.
GitLab Premium (тільки для самоврядних екземплярів) тепер пропонує кешуючий проксі для залежностей для образів Docker. Це доповнення прискорить доставку, адже тепер у вас буде кешуючий проксі для образів Docker, що часто використовуються.
Користувачі самоврядних екземплярів GitLab тепер можуть готувати кластер Kubernetes на рівні екземплярів, і всі групи та проекти в екземплярі будуть використовувати його для своїх деплоїв. Завдяки цій інтеграції GitLab з Kubernetes автоматично створюватимуть ресурси для конкретних проектів для додаткової безпеки.
Найцінніший співробітник цього місяця (MVP) - Кіа Мей Сомабес (Kia Mei Somabes)
У цьому випуску ми додали можливість завантажувати окремі папки з репозиторіїв, а не весь вміст. Тепер ви можете завантажити лише кілька потрібних файлів. Дякую, Кіа Мей Сомабес!
У GitLab 11.11 ми додали до GitLab Runner нового виконавця, щоб контейнери Docker можна було використовувати у Windows. Раніше для оркестрації контейнерів Docker у Windows доводилося використовувати оболонку (shell), а тепер можна працювати з контейнерами Docker у Windows безпосередньо, майже так само, як у Linux. Зараз користувачам платформ від Microsoft є більше можливостей для оркестрації пайплайнів та управління.
До цього оновлення входить покращена підтримка PowerShell у GitLab CI/CD, а також нові допоміжні образи для різних версій контейнерів Windows. Ваші власні Windows-раннери, звичайно, можна використовувати з GitLab.com, але поки що вони не входять до списку загальнодоступних інструментів.
Кешируючий проксі залежностей для реєстру контейнерів
PREMIUM, ULTIMATE
Команди часто використовують контейнери в пайплайнах складання, а кешуючий проксі для часто використовуваних образів і пакетів з upstream - це чудовий спосіб прискорити пайплайни. З локальною копією потрібних шарів, доступною через новий проксі, що кеширує, можна ефективніше працювати з поширеними образами у вашому середовищі.
Досить часто одразу кілька людей працюють над функцією у спільній гілці та мердж-реквесті, наприклад, коли фронтенд- та бекенд-розробники тісно співпрацюють один з одним або коли розробники працюють парами, як в екстремальному програмуванні.
У GitLab 11.11 на мердж-реквести можна призначати кілька людей. Як і з кількома відповідальними за завдання, тут можна використовувати списки, фільтри, сповіщення та API.
Конфігурація кластера Kubernetes на рівні екземпляра
CORE, STARTER, PREMIUM, ULTIMATE
Модель безпеки та підготовки в Kubernetes розвивається, і тепер можна обслуговувати велику кількість клієнтів через один загальний кластер.
У GitLab 11.11 користувачі самоврядних екземплярів тепер можуть готувати кластер на рівні екземплярів, і всі групи та проекти в екземплярі будуть використовувати його для своїх деплоїв. Завдяки цій інтеграції GitLab з Kubernetes автоматично створюватимуть ресурси для конкретних проектів для додаткової безпеки.
Тепер ви можете налаштовувати автоматичні повідомлення про події деплою у каналі команди завдяки інтеграції з чатами Млявий и Найважливішеі ваша команда буде в курсі всіх важливих подій.
Тепер користувачі ваших проектів можуть переглядати випуски, опубліковані на сторінці Releases. Вони зможуть завантажувати опубліковані артефакти, але не зможуть завантажити вихідний код або побачити відомості про репозиторії, наприклад, теги чи коміти.
Інші покращення в GitLab 11.11
Серіалізовані графи коммітів для підвищення продуктивності
Для багатьох операцій Git потрібен обхід графа комміта, наприклад, обчислення бази злиття або виведення гілок, які містять коміт. Чим більше комітів, тим повільніше виконуються ці операції, тому що для обходу потрібно завантажити кожен об'єкт з диска, щоб рахувати його покажчики.
У GitLab 11.11 ми включили функцію серіалізованих графів коммітів, представлену в останніх випусках Git, щоб заздалегідь обчислювати та зберігати ці відомості. Тепер обходи у великих репозиторіях виконуються набагато швидше. Граф коммітів буде автоматично створений під час наступного складання сміття в репозиторії.
Читайте про те, як створювався серіалізований граф коммітів, серії статей від одного з авторів цієї фічі.
Додаткові хвилини CI Runner: тепер і для безкоштовних планів
FREE, BRONZE, SILVER, GOLD
Минулого місяця ми додали можливість купувати додаткові хвилини CI Runner, але тільки для платних планів GitLab.com. У цьому випуску хвилини можна купувати у безкоштовних планах.
Залежно від типу та розміру проекту архів всього проекту може завантажуватися довго і не завжди потрібний, особливо у разі великих монорепозиторіїв. У GitLab 11.11 можна завантажити архів вмісту поточного каталогу, включаючи підкаталоги, щоб вибрати лише потрібні папки.
Пропозиція змін полегшує спільну роботу над мердж-реквестами: тепер можна обійтися без копіпасти для прийняття запропонованої зміни. У GitLab 11.11 ми зробили цей процес ще простішим: тепер обговорення автоматично дозволяється при застосуванні пропозиції.
Бічні панелі завдань мають виглядати однаково у поданні дошки та завдань. Тому в GitLab тепер є лічильник часу на бічній панелі завдань на дошці завдань. Просто перейдіть на дошку завдань, натисніть на завдання і відкриється бічна панель з лічильником часу.
Ми додали можливість запитувати відомості про конкретне середовище у Environments API, щоб знати, який коміт розгорнуть у середовищі прямо зараз. Це спростить автоматизацію та звітність для користувачів Environments у GitLab.
Тепер можна перевіряти негативну рівність або збіг шаблонів (!= и !~) у файлі .gitlab-ci.yml під час перевірки значень змінних середовища, тому контроль поведінки пайплайнов став гнучкішим.
Запуск всіх виконуваних вручну джобів на етапі одним клацанням
У GitLab 11.11 користувачі, у яких на етапах багато джобів, що виконуються вручну, тепер можуть виконувати всі подібні джоби на одному етапі, натиснувши кнопку "Play all" («Запустити все») праворуч від імені етапу у поданні пайплайнів.
Створення файлу безпосередньо зі змінного середовища
Змінні середовища часто використовуються для створення файлів, особливо для секретів, які потребують захисту та доступні лише у певному пайплайні середовища. Для цього ви задаєте як вміст змінної вміст файлу і створюєте файл в джобі, який містить значення. З нового змінного середовища типу file це можна зробити за один крок навіть без зміни .gitlab-ci.yml.
Кінцева точка API для відомостей про вразливість
ULTIMATE, GOLD
Тепер ви можете запитувати у GitLab API уразливості, виявлені в проекті. З цим API можна створювати машиночитані списки вразливостей з фільтрами за типом, достовірністю та серйозністю.
Можливість повного динамічного сканування для DAST
ULTIMATE, GOLD
У GitLab можна динамічно тестувати захищеність додатків (Dynamic Application Security Testing, DAST) в рамках пайплайну CI. Починаючи з цього випуску, можна вибирати повне динамічне сканування замість стандартного пасивного сканування. Повне динамічне сканування захищає від більшої кількості вразливостей.
У цьому випуску GitLab з'явилася можливість прикріплювати кластер Kubernetes до всієї групи. Ми також додали можливість встановити один екземпляр Prometheus на цей кластер, щоб спростити моніторинг всіх проектів на кластері.
Відомості про ігнорування вразливостей на панелі безпеки
ULTIMATE, GOLD
На панелі безпеки GitLab адміністратори можуть переглядати проігноровані вразливості. Щоб оптимізувати робочий процес, ми додали можливість переглядати інформацію про ігнорування прямо на панель безпеки.
Створення діаграм метрик на панелі моніторингу
PREMIUM, ULTIMATE, SILVER, GOLD
Створюйте нові діаграми з метриками продуктивності прямо на панелі інструментів на панелі моніторингу метрик. Тепер користувачі можуть створювати, оновлювати та видаляти візуалізації метрик на панелі моніторингу, натиснувши кнопку "Add Metric" («Додати метрику») у верхньому правому куті панелі інструментів на панелі моніторингу.
Завдання із повідомлень тепер відкриваються від імені GitLab Alert Bot
PREMIUM, ULTIMATE, SILVER, GOLD
Тепер у завдань, які відкриваються з повідомлень, автором буде GitLab Alert Bot, щоб ви відразу бачили, що завдання створене автоматично з важливих сповіщень.
Автозбереження описів епіків у локальне сховище
ULTIMATE, GOLD
Описи епіків не зберігалися в локальному сховищі, тому зміни пропадали, якщо ви не зберігали їх, коли змінювали опис епіка. У GitLab 11.11 з'явилася можливість зберігати описи епіків у локальному сховищі. Це означає, що тепер ви можете легко повернутися до зміни опису епіка, якщо виникла помилка, ви відволікалися або випадково вийшли з браузера.
Підтримка віддзеркалення на GitLab для Git LFS
STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD
За допомогою віддзеркалення можна реплікувати репозиторії Git з одного місця до іншого. Це спрощує зберігання на сервері GitLab репліки репозиторію, розташованого десь ще. Тепер GitLab підтримує віддзеркалення репозиторіїв з Git LFS, так що ця функція доступна навіть репозиторіям з великими файлами, наприклад текстурами для ігор або науковими даними.
Права на читання та запис у репозиторії для персональних токенів доступу
Багато персональних токенів доступу мають дозволи на зміни на рівні api, але повний доступ до API може давати надто багато прав деяким користувачам чи організаціям.
Завдяки вкладу спільноти тепер персональні токени доступу можуть мати права лише на читання та запис для репозиторіїв проекту, а не більш глибокий доступ на рівні API до таких делікатних зон GitLab, як параметри та членство.
За допомогою API GraphQL користувачі можуть точно вказувати, які дані потрібні, і отримувати всі необхідні дані за кілька запитів. Починаючи з цього випуску, GitLab підтримує додавання основних відомостей про групу в API GraphQL.
GitLab любить розробників Salesforce, і, щоб підтримати цю спільноту, ми дозволяємо користувачам входити на GitLab з обліковими даними Salesforce.com. Зараз в екземплярах можна налаштувати GitLab як програму, підключену до Salesforce, щоб використовувати Salesforce.com для входу на GitLab одним натисканням.
SAML SSO тепер є обов'язковим для веб-доступу
PREMIUM, ULTIMATE, SILVER, GOLD
Ми розширюємо вимогу єдиного входу (SSO) на рівні груп, введене у випуску 11.8, із строгою перевіркою ресурсів групи та проекту, щоб користувачі могли отримати доступ тільки під час входу до SAML. Це додатковий рівень контролю доступу для організацій, які цінують безпеку та використовують GitLab.com через SAML SSO. Тепер ви можете зробити SSO обов'язковою вимогою, знаючи, що користувачі у вашій групі використовують SSO.
Фільтрування за нещодавно створеними або зміненими даними для API епіків
ULTIMATE, GOLD
Раніше було непросто вимагати нещодавно створені або змінені дані за допомогою API епіків на GitLab. До випуску 11.11 ми додали додаткові фільтри created_after, created_before, updated_after и updated_before, щоб гарантувати узгодженість з API завдань та швидко знаходити змінені чи нещодавно створені епіки.
Сьогодні ми випустили GitLab Runner 11.11/XNUMX! GitLab Runner — це проект з відкритим вихідним кодом, який використовується для запуску завдань CI/CD та надсилання результатів назад у GitLab.
У GitLab 11.6sudo gitlab-rake gitlab:geo:check перевіряє, чи включене хешоване сховище та чи всі проекти переносяться. Див. gitlab-ee#8289. Якщо ви використовуєте Geo, будь ласка, запустіть цю перевірку та мігруйте якнайшвидше.
У GitLab 11.8 попередження, що постійно відключається, буде відображатися на сторінці Admin Area › Geo › Nodesякщо вищезазначені перевірки не дозволені. gitlab-ee!8433.
У GitLab 12.0 Geo використовуватиме вимоги до хешованого сховища. Див. gitlab-ee#8690.
Дата видалення: 22 червня 2019 р.
GitLab Geo забезпечить використання PG FDW у GitLab 12.0
Це необхідно для Geo Log Cursor, оскільки значно підвищує продуктивність деяких операцій синхронізації. Також підвищується продуктивність запитів статусу вузлів Geo. Попередні запити мали надто низьку продуктивність у великих проектах. Дивіться, як налаштувати це в реплікації бази даних Geo. У GitLab 12.0 Geo вимагатиме PG FDW. Див. gitlab-ee#11006.
Дата видалення: 22 червня 2019 р.
Параметри Sentry для звітів про помилки та логування будуть видалені з інтерфейсу користувача в GitLab 12.0
Ці параметри будуть видалені з інтерфейсу користувача в GitLab 12.0 і будуть доступні у файлі gitlab.yml. Крім того, ви зможете визначити середовище Sentry, щоб розрізняти кілька деплоїв. Наприклад, розробка, стейджинг та продакшен. Див. gitlab-ce #49771.
Дата видалення: 22 червня 2019 р.
Обмеження максимальної кількості пайплайнів, створюваних однією відправкою
Раніше GitLab створював пайплайни для HEAD кожної гілки у відправленні. Це зручно для розробників, які відправляють відразу кілька змін (наприклад, у гілку фічі та у гілку develop).
Але при надсиланні великого репозиторію, де багато активних гілок (наприклад, для переміщення, віддзеркалення або розгалуження), не потрібно створювати пайплайн для кожної гілки. Починаючи з GitLab 11.10, ми створюємо максимум 4 пайплайни при відправленні.
Дата видалення: 22 травня 2019 р.
Застарілі шляхи legacy коду GitLab Runner
Починаючи з Gitlab 11.9 GitLab Runner використовує новий метод клонування/виклику репозиторію. В даний час GitLab Runner використовуватиме старий метод, якщо новий не підтримується. Детальніше дивіться цьому завданні.
У GitLab 11.0 ми змінили вигляд конфігурації сервера метрик для GitLab Runner. metrics_serverбуде видалено на користь listen_address у GitLab 12.0. Детальніше дивіться цьому завданні.
Ці шляхи будуть недоступні у GitLab 12.0. Як користувач, вам не потрібно нічого змінювати, тільки переконатися, що екземпляр GitLab працює з версією 11.9+ при оновленні до GitLab Runner 12.0.
Дата видалення: 22 червня 2019 р.
Застарілий параметр для фічі точки входу для GitLab Runner
У GitLab 12.0 ми перейдемо на правильну поведінку, якби параметр фічі був відключений. Детальніше дивіться цьому завданні.
Дата видалення: 22 червня 2019 р.
Застаріла підтримка дистрибутива Linux, що досяг EOL, для GitLab Runner
Деякі дистрибутиви Linux, які можна встановити GitLab Runner, своє відслужили.
У GitLab 12.0 GitLab Runner більше не розподілятиме пакети в такі дистрибутиви Linux. Повний список дистрибутивів, які більше не підтримуються, можна знайти у нашій документації. Дякую, Хав'єр Ардо (Javier Jardón), за твій внесок!
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 після кроку розвантаження.
Оскільки ця зміна поведінки може вплинути на деяких користувачів, ми підготували параметр FF_USE_LEGACY_GIT_CLEAN_STRATEGY. Якщо встановити значення true, він відновить legacy-стратегію очищення. Докладніше про використання параметрів функцій у GitLab Runner можна знайти у документації.
У GitLab Runner 12.0 ми видалимо підтримку legacy-стратегії очищення та можливість відновлювати її за допомогою параметра функції. Див. цьому завданні.
Коли ми представили шаблони проектів на рівні груп у випуску 11.6 ми випадково зробили цю фічу для Premium/Silver доступною для всіх планів.
Ми виправляємо цей баг у випуску 11.11 та даємо ще 3 місяці всім користувачам та екземплярам нижче рівня Silver/Premium.
З 22 серпня 2019 року шаблони групових проектів будуть доступні лише для плану Silver/Premium та вище, як описано у документації.
Дата видалення: 22 серпня 2019 р.
Припинено підтримку пакетних завдань Windows
У GitLab 13.0 (22 червня 2020 р.) ми плануємо відмовитися від підтримки пакетних завдань у командному рядку Windows у GitLab Runner (наприклад, cmd.exe) на користь розширеної підтримки Windows PowerShell. Детальніше у цьому завданні.
Тепер наше бачення корпоративного DevOps буде відповідати позиції Microsoft, що PowerShell - це найкращий варіант для автоматизації корпоративних програм у середовищах Windows. Якщо ви хочете й надалі використовувати cmd.exe, ці команди можна викликати з PowerShell, але ми не будемо безпосередньо підтримувати пакетні завдання Windows через кілька невідповідностей, які призводять до високих витрат під час обслуговування та розробки.
Дата видалення: 22 вересня 2019 р.
Потрібно Git 2.21.0 або вище
Починаючи з GitLab 11.11, для запуску потрібно Git 2.21.0. Omnibus GitLab вже постачається з Git 2.21.0, але користувачам вихідних установок із попередніми версіями Git доведеться оновитися.
Дата видалення: 22 травня 2019 р.
Застарілий шаблон сервісу Kubernetes
У GitLab 12.0 ми плануємо відмовитись від шаблону сервісу Kubernetes на рівні примірника на користь конфігурації кластера на рівні екземпляра, представленої в GitLab 11.11.
Усі самоврядні екземпляри, де використовується шаблон сервісу, будуть перенесені до кластера на рівні екземпляра при апгрейді до GitLab 12.0.
Дата видалення: 22 червня 2019 р.
Відмова від зіставлення по ярлику app на панелях деплою Kubernetes
У GitLab 12.0 ми плануємо відмовитися від зіставлення за ярликом app у селекторі деплоїв Kubernetes. У GitLab 11.10 ми ввели новий механізм зіставлення, який шукає збіги по app.example.com/app и app.example.com/env, щоб вивести деплої на панель.
Щоб ці деплої відображалися на панелях деплоїв, потрібно просто відправити новий деплой, і GitLab застосує нові ярлики.