Розробка

Вийшов GitLab 11.1: Панель управління безпекою та покращений пошук

У GitLab 11.1 ми поліпшили відображення безпеки за рахунок панелей, удосконалили пошук по коду для своєчасного отримання потрібної інформації, внесли зміни до UX і багато іншого.

Покращена візуалізація для команди безпеки

GitLab створений для спільної роботи. Місія GitLab в тому, щоб кожен міг вносити свій вклад, тому ми створили інструмент, який дозволяє фахівцям з управління продуктом, розробку, тестування, експлуатації та інформаційної безпеки працювати разом. Саме тому ми вбудовуємо і розробку ПЗ, і DevOps в один додаток. І вважаємо, що мерж-реквест – один з найпотужніших інструментів для спільної роботи.

Але іноді мерж-реквест — це не зовсім те, що потрібно.

Мерж-реквесты гарні тоді, коли потрібно подивитися, як окремі зміни впливають на додаток. Але що якщо потрібен більш високий рівень подання? Іноді необхідно подивитися всі поточні проблеми безпеки, які впливають на гілку в цілому. Нова панель управління безпекою дозволяє це зробити. В панелі можна розставити пріоритети, щоб сконцентруватися на найбільш важливих вразливості. Тепер немає необхідності звіряти звіти по всім мерж-реквестам — все в одному місці. Ми думаємо, що це буде особливо корисно тим, хто відповідає за інформаційну безпеку. Тепер у GitLab є спеціальний інструмент, що допомагає їм виконувати свою роботу. Робота з панеллю керування безпекою дозволяє командам безпеки управляти пріоритетом критично вразливих місць, усувати одні і пропускаючи інші (коли вони несуттєві для даного проекту) так, щоб при зниженні пріоритету вони не повторювалися у звітах.

Прискорений пошук

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

Пошук по коду був доступний і раніше, але ми зробили його краще. Розширений синтаксис пошуку дозволяє прискорити пошук потрібних файлів за рахунок можливості відфільтрувати по імені файлу, шлях до нього і його розширення.

І навіть більше!

Крім нових функцій безпеки, ми також поліпшили UX: переробили віджет мерж-реквеста, додали панель мерж-реквеста в Web IDE, переробили статистику вкладів у GitLab і не тільки.

Читайте далі, щоб дізнатися про всі зміни в GitLab 11.1

Запрошуємо на наші зустрічі

MVP цього місяця — Jasper Maes

Внесок Jasper був і залишається невід’ємною частиною в роботі над оновленням GitLab до Rails 5 протягом кількох останніх місяців.

Спасибі, Jasper, що постійно робиш GitLab краще! В знак подяки ми відправили тобі фірмові сувеніри, в тому числі толстовку, шкарпетки і танукі ручної роботи.

Основні нові фічі GitLab 11.1

Панель управління безпекою проектів (ULTIMATE, GOLD)

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

Щоб полегшити їм життя, ми додали в GitLab 11.1 панель управління безпекою, яка повідомляє поточний статус безпеки основної гілки в кожному проекті. Це дозволяє команді безпеки легко визначити, що щось пішло не так, і зрозуміти, що потрібно зробити. Панель можна знайти в меню Project. Інтерактивна Панель, її можна використовувати для відкидання хибнопозитивних помилок або створення рішень для існуючих вразливих місць.

Документація по Панелі управління безпекою

Фільтри для розширеного пошуку: ім’я файлу і шлях до нього (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

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

У цьому релізі представлені нові розширені параметри синтаксису, які дозволяють шукати по коду з використанням трьох фільтрів. Тепер можна шукати по імені файлу (filename), шляху до нього (path) і навіть з розширення ( file extension) — і результат пошуку буде більш точним. Ці фільтри доступні як у веб-інтерфейсі, так і в API.

Для плану Core ці фільтри доступні на рівні проекту.

Для Starter і вище: якщо ви використовуєте Elasticsearch, фільтри доступні також на рівні груп і на глобальному рівні.

У всіх планах підписки на GitLab.com фільтри працюють лише на рівні проекту, так як там ще немає Elasticsearch. Однак, ми працюємо над впровадженням в Elasticsearch GitLab.com.

Документація по розширеному синтаксису пошуку

Сканування контейнерів та звіти DAST на рівні конвеєра (ULTIMATE, GOLD)

Звіти безпеки в мерж-реквестах дуже корисні для виявлення нових проблем в новому коді, навіть якщо код ще не потрапив у гілку master. Але оскільки уразливості можуть з’являтися до створення мерж-реквеста, іноді розробникам потрібно знати статус безпеки для конкретної гілки в конкретний момент часу.

У GitLab 11.1 набір звітів безпеки, які відображаються у вигляді конвеєра, доповнено динамічним тестуванням безпеки додатка (Dynamic Application Security Testing, DAST) і скануванням контейнера. Досить подивитися вкладку Reports, щоб отримати всю інформацію про безпеку і прийняти відповідні заходи.

Документація по звітам безпеки

Підтримка для SAST Node.js (ULTIMATE, GOLD)

Статичне тестування безпеки додатків (Static Application Security Testing, SAST) дозволяє виявити уразливості в коді, як тільки зміни потрапили в репозиторій. Ця інформація доступна у мерж-реквесте, що дозволяє виправити знайдені вразливості. Тепер вони не підуть в продакшен, так як ‘зсув вліво’ досягається автоматично.

У GitLab 11.1 ми додали мова Node.js у список підтримуваних мов SAST. Тепер не потрібно змінювати налаштування в ваших проектах на Node.js новий мову визначається автоматично і тестується роботою sast.

Документація по SAST

Редизайн інформаційної секції та секції конвеєра для віджета мерж-реквеста (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

У GitLab, мерж-реквесты в цілому і віджет мерж-реквеста а зокрема — потужна фіча, яка відображає велику кількість корисної інформації та функцій. Ми постійно оцінюємо дизайн і хочемо бути впевнені, що інформація корисна, і її легко сприймати.

У цьому релізі ми доопрацювали дизайн інформаційної секції та секції конвеєра. Ми відокремили їх від решти вмісту в віджеті для більш легкого сприйняття.

Документація по мерж-реквестам

Випадаюче меню Groups в навігації (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Перемикання між групами має бути простим завданням, не перериваючи робочий процес. Щоб зробити цей крок простіше, ми додали випадаюче меню для груп у верхню панель навігації для швидкого доступу. Це позбавить вас від необхідності перемикатися під час роботи на інший екран, щоб знайти групу, назва якої важко запам’ятати. Як і в меню Projects, в Groups будуть відображатися часто відвідувані групи.

Документація по групах

Перегляд опису мерж-реквеста в Web IDE (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Коли ви працюєте над мерж-реквестом або проводите його рев’ю, зручно повернутися до його опису, щоб дізнатися, з якою метою і в якому контексті були зроблені зміни.

Починаючи з цього релізу, замість перемикання вкладок ви можете просто відкрити опис мерж-реквеста поруч з кодом прямо в Web IDE.

Документація по Web IDE

Інші поліпшення в GitLab 11.1

Редизайн сторінки аналітики внеску в розробку (STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)

Ми змінили дизайн сторінки з аналітикою внеску в розробку задля підвищення доступності та однаковості в інтерфейсі. Ми зосередилися на тому, щоб ця сторінка могла вмістити велику кількість розробників, для кращого розуміння, як учасники вносять свій внесок.

Документація по аналітиці внеску в розробку

Редизайн сторінок зі списком майлстоунов (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

У цій версії ми перемалювали список майлстоунов, включаючи сторінки зі списками проектів, груп і дощок, заради однаковості в інтерфейсі.

Це перший крок до спрощення дизайну. Ми робимо його більш красивим і зручним, що в кінцевому рахунку дозволить командам краще управляти їх майлстоунами.

Документація по Майлстоунам

Підгрупи GitLab в панелі «Розробка» в Jira (PREMIUM, ULTIMATE, SILVER, GOLD)

Команди, які використовують Jira разом з GitLab, отримують можливості інтеграції з панеллю «Розробка» (Development) в Jira. Це дозволяє користувачам Jira переглядати мерж-реквесты, гілки та коміти з GitLab в правій панелі розробки в задачі Jira. Зокрема, ви налаштовуєте інтеграцію, вказуючи сервера Jira на групу верхнього рівня GitLab; тепер для цього сервера будуть видимі всі проекти групи.

З цим релізом ми розширюємо зону видимості таким чином, що всі проекти в цій групі верхнього рівня, так само як і вкладені підгрупи, будуть видні сервера Jira. Це розширює можливості інтеграції, дозволяючи більш гнучко структурувати ваші проекти в ієрархії з боку GitLab, не змінюючи управління завданнями з боку Jira.

Документація по інтеграції Jira Development panel з GitLab

GitLab Flavored Markdown за допомогою CommonMark (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

GitLab Flavored Markdown (GFM) дозволяє користувачам легко і швидко форматувати і стилізувати текст в GitLab, в тому числі в завданнях, мерж-реквестах, эпиках, коментарях та в інших місцях. Досі, GitLab для GFM використовував Redcarpet, більш стару реалізацію Markdown. Це приводило до ряду проблем.

З цього релізу в нових файлах GFM малюється за допомогою сучасного CommonMark; а створені раніше Markdown-файли залишаються на Redcarpet. Більш детально це описано в документації Markdown.

Крім вирішення більшої частини згаданих проблем, у CommonMark вище продуктивність. Крім того, GitHub теж використовує CommonMark; таким чином, користувачі GitHub, які перейшли на GitLab, тепер будуть використовувати той же Markdown. У майбутньому, коли Markdown-файли репозиторіїв будуть отрисованы в CommonMark, імпорт проектів з GitHub в GitLab обробить файли з Markdown точно так само.

Спасибі blackst0ne за цю фічу!

Документація по GitLab Flavored Markdown

Швидке дію для перекладу завдання в конфіденційні (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Тепер ви можете швидко зробити завдання конфіденційної прямо з поля коментування; це дозволить вам написати коментар та перевести задачу в конфіденційні, не відволікаючись від клавіатури.

Спасибі Jan Beckmann за його внесок!

Документація по швидким діям

Автодоповнення в эпиках та позначці у эпиках (ULTIMATE, GOLD)

У цьому релізі ми поліпшили автодоповнення в эпиках. Зокрема, коли ви описуєте або коментуєте епік, ви можете ввести знак &, і GitLab автоматично виконає пошук по эпикам в цій групі, а знак ~ викликатиме пошук по мітках, так само як це вже працює в задачах (#) і мерж-реквестах (!).

Документація по эпикам

Рефакторинг коментарів до мерж-реквестам на Vue.js (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

З 2016 року, коли GitLab вирішив перейти на Vue.js ми використовували його не тільки для створення нових фіч, але і для рефакторінгу існуючих, щоб поліпшити інтерфейс і підвищити продуктивність.

У цьому релізі ми переписали інтерфейс коментарів до мерж-реквестам. Це дає нам більший контроль над продуктивністю — ми будемо займатися у кількох найближчих релізах. А також це допоможе простіше і ефективніше створювати нові фічі з використанням Vue.js. Приміром, ми вже працюємо над пакетним коментуванням (batch commenting).

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

Документація по мерж-реквестам

API для налаштування дощок завдань (STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)

Раніше, в GitLab 10.2, ми випустили настроювані дошки завдань, які дозволяють командам зберегти конфігурацію для дошки завдань. Тепер ця можливість доступна через GitLab API.

Це дозволяє командам створювати свої робочі процеси, в тому числі і автоматичні. Наприклад, якщо ви хочете для кожної ітерації використовувати одну й ту ж саму дошку завдань, тепер ви можете міняти майлстоун конфігурації через API і автоматизувати цей зовнішнім скриптом між ітераціями.

Документація по API для налаштування дощок завдань

Заблокований стан мерж-реквестов додано в API (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

У цьому релізі ми додали заблокований стан (locked state) для мерж-реквестов в GitLab API – раніше воно було внутрішнім станом, недоступним через API. Мерж-реквест знаходиться в цьому заблокованому стані, поки вихідна гілка зливається з цільовою.

Відкриваючи доступ до цього стану через API, ми даємо можливість зовнішніх систем надійно звертатися до всіх мерж-реквестам, навіть до тих, які знаходяться у цьому проміжному заблокованому стані (transient locked state).

Документація по API мерж-реквестов

Перенесення проектів між просторами імен за допомогою API (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

У настроюваннях проекту власники можуть перенести існуючий проект в інший простір імен (іншому користувачеві або групі). Це дозволяє гнучко організовувати проекти всередині особистих і групових просторів імен.

У цьому релізі ми додаємо доступ до цих налаштувань через наше API проектів, дозволяючи вам перемістити кілька репозиторіїв за один крок.

Спасибі Aram Visser за цю фічу!

Документація по перенесенню проектів

Ініціалізація README при створенні проекту (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Ми в GitLab вважаємо, що кожен може внести свій внесок в розробку. Суттєвий крок до цієї мети — зробити створення нового проекту на GitLab як можна більш простим і інтуїтивно зрозумілим.

У релізі 11.1 ми вводимо нову настройку, що дозволяє ініціалізувати репозиторій за рахунок додавання файлу README при створенні нового проекту. Якщо ця функція включена, репозиторій проекту ініціалізується з дефолтної гілкою master, яку відразу можна клонувати. Створюваний файл README містить ім’я і опис проекту.

Документація по створенню проектів

Поліпшення користувацького досвіду при конфігурації ключів SSH (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Користуючись GitLab, хто повинен мати можливість вносити свій внесок і пушити в проекти без необхідності вивчати додаткові складні речі. Орієнтуючись на цей ідеал, ми виявили, що налаштування ключів SSH, основна умова для початку роботи, залишається надто складною.

У цьому релізі ми покращуємо користувальницький досвід конфігурації ключів SSH (пункт налаштування SSH Keys») і відповідну документацію.

Документація по ключів SSH в GitLab

Покращений комміт в Web IDE (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

У цьому релізі ми спростили коміти в Web IDE, додавши предзаполнение опису коміта і можливість одним кліком додати комміт (Stage & Commit). Тепер при редагуванні гілки, недоступною для запису (наприклад, гілки master), Web IDE за замовчуванням запропонує створити нову гілку і осмислено предзаполнит її ім’я, так що ви завжди зможете створити отримати в один клік.

Раніше опис коміта не предзаполнялось, а кнопка створення коміта в таких випадках була заблокованою. Це уповільнювало внесення змін і залишало користувача в подиві: «Чому я не можу створити отримати?».

Документація по Web IDE

Посилання «Внести внесок у GitLab» (CORE, FREE)

GitLab сильний своїм співтовариством — і ніщо не надихає нас більше, ніж поява нових людей, що беруть участь в розробці!

У цьому релізі ми полегшили користувачам GitLab Core і GitLab.com пошук сторінки «Внести внесок у GitLab»: ми додали зручну посилання, доступну прямо в меню профілю користувача.

Подробиці в нашому керівництві по внесенню вкладу в GitLab

Можливість скасувати двофакторну аутентифікацію в SAML (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

У багатьох випадках провайдери SAML вже підтримують або навіть вимагають двофакторну аутентифікацію для забезпечення рівня безпеки.

Починаючи з GitLab 11.1 можна відключати двофакторну аутентифікацію на стороні GitLab і проводити її на стороні провайдера SAML, щоб виконати його вимоги. Для цього ми додали новий параметр конфігурацію SAML.

Спасибі Roger Rüttimann за цю фічу!

Документація по SAML OmniAuth Provider

Новий метод HEAD у файловому API (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Наше файлове API дозволяє проводити операції CRUD (create, read, update і delete) над файлами, що зберігаються у вашому проекті GitLab .

З GitLab 11.1 ми додаємо у файлове API підтримку методу HTTP HEAD, який дозволяє читати метадані файлу. Цей запит можна використовувати, наприклад, для перевірки розміру файлу, щоб прийняти рішення про його завантаженні.

Спасибі Ahmet Demir за цю фічу!

Документація по файловому API репозиторію

Покращений дизайн сторінки кластера Kubernetes (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Ми поліпшили дизайн сторінки Kubernetes, щоб мінімізувати відображення нерелевантної інформації при додаванні кластера. З цією метою тепер ми використовуємо окремі вкладки для кожної опції.

Це перший крок у серії змін дизайну додавання кластера і управління кластерами, спрямованих на те, щоб зробити його простіше і зрозуміліше.

Ми намагаємося спростити управління кластерами і додавання нових. Редизайн сторінки — перший крок на цьому шляху

Документація по кластерах Kubernetes

Метрики додатків тепер доступні в меню «Операції» (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

Після додавання меню Metrics в Operations стало легше і швидше переглядати метрики продуктивності вашого додатка. Клік на Metrics відразу відкриває панель продуктивності вашого оточення production, якщо воно у вас є, а також надає випадаючий список для перемикання на інші оточення.

В попередніх релізах користувачеві доводилося знаходити потрібне оточення в меню Environments і натискати кнопку Monitoring.
Для перемикання на інше оточення потрібно пройти весь цей процес знову.
Тепер же метрики вашого продакшену знаходяться всього в одному кліці.

Документація по моніторингу додатків

Керування сторонніми пропозиціями (CORE, STARTER, PREMIUM, ULTIMATE)

Ще в релізі 10.8 ми почали інформувати користувачів про сторонніх пропозиціях, які вони б могли визнати цінними для розвитку своїх проектів.

Бувають випадки, де ці пропозиції не мають сенсу, — або ви просто не хочете, щоб вони відображалися у додатку. У GitLab 11.1 ви можете керувати показом сторонніх пропозицій в галузі адміністрування.

Документація по стороннім пропозиціями

Збереження ID користувача в підзапитів «OpenID Connect» (CORE, STARTER, PREMIUM, ULTIMATE FREE, BRONZE, SILVER, GOLD)

GitLab можна використовувати як провайдера ідентифікації ” OpenID Connect (OIDC) для зовнішніх сервісів. Цей шар ґрунтується на OAuth 2.0.

У попередній версії ми зберігали підзапит OIDC на основі хэшированной версії ID користувача GitLab. Це могло призвести до потенційно нестабільного API, так як спосіб хешування може змінитися в майбутньому. Тепер, дотримуючись специфікації OIDC, ми зберігаємо ID користувача прямо в підзапитів (sub). Для забезпечення можливості міграції попереднє значення все ще доступна в запиті sub_legacy.

Документація по OpenID Connect

Докладні release notes і інструкції по оновленню/установці можна прочитати в оригінальному англомовному пості: GitLab 11.0 released with Auto DevOps and Management License.

Над перекладом з англійської працювали rishavant, cattidourden, ainoneko і nick_volynkin.

Related Articles

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Close