Вийшов GitLab 8.16: Підтримка Google Container Engine, вбудований Prometheus + тайм-трекінг в CE

Історія з видаленням бази звичайно затьмарила всі інші новини про ГитЛаб. Так що якщо ви пропустили релізний пост про зміни і нові функції в GitLab 8.16, нижче — його переклад:
Наша мета — зробити участь у розробці доступним для кожного. Для цього ми робимо інструментарій GitLab простим у використанні, налаштуванні і обслуговуванні. попередній версії GitLab ми реалізували просту настройку безперервної інтеграції (continuous integration, CI) і автоматичне розгортання (deploy) в Kubernetes. А в першому релізі нового року ми робимо наступний крок до нашої мети.

У GitLab ми намагаємося втілити принцип «від ідеї до виробництва» ("idea to production"): одна система повинна обслуговувати всі етапи розробки від обговорення ідеї до її реалізації, розгортання в бойовий оточенні і експлуатації.
Починаючи з версії 8.16 GitLab зможе працювати з Kubernetes в Google Cloud. Також тепер у GitLab буде входити потужний інструмент моніторингу під назвою Prometheus.
не Можна просто розгорнути програму і забути про нього — потрібен зворотний зв'язок про результати розгортання. Вона дозволить відкотити невдале розгортання і дасть матеріал для покращення процесу. GitLab повинен давати вам зворотний зв'язок про систему, додатку та бізнес-метриках безпосередньо через інструментарій розгортання. Prometheus – перший крок до реалізації цього завдання.
MVP цього місяця, що розширив статистику використання постійної пам'ятіMarkus Koller. Спасибі, Markus!
Зустріч в Канкуні і прототип на Google Container Engine (GKE)
Кожні дев'ять місяців всі члени команди GitLab і їх сім'ї збираються на нашому саміті.
Там ми зустрічаємося і спілкуємося, ділимося ідеями і планами в неформальній обстановці. Тільки що пройшов саміт в мексиканському місті Канкун. Там CEO компанії Sid Sijbrandij поділився своїм баченням минулого, теперішнього і майбутнього GitLab:

Це внутрішня презентація, основна аудиторія якої — члени нашої команди. Тим не менш, ми публікуємо її, тому що прозорість — одна з наших основних цінностей. Не варто сприймати її як офіційну заяву, деякі питання начебто планів підписки на GitLab.com ми все ще обговорюємо.
Якщо у вас немає часу дивитися відео цілком, подивіться хоча б фрагмент на 44:48, де Сід пропонує своїм колегам парі:
«Якщо ви будете першими, хто реалізує робочий прототип „від ідеї до виробництва“ на Google Container Engine (GKE), я буду радий, що станцюю танець лінивця Сіда з «Льодовикового періоду-4» (Sid Shuffle)».
Навіть якщо ви не бачили цей танець в оригіналі, він вам напевно сподобається. Але спочатку давайте розберемося, в чому ж сенс цього парі.
В минулому місяці (переклад, оригінал) ми показали вам, як буде виглядати процес розробки в найближчому майбутньому.
Всього за кілька хвилин, маючи тільки планувальник контейнерів (container scheduler), можна побудувати систему розгортання програми з GitLab в кластер Kubernetes з масштабованими можливостями безперервної інтеграції (continuous integration, CI).
Google Container Engine – частина Google Cloud, використання якої доступно кожному. Але змусити її працювати — непросте завдання. Наші розробники добре постаралися, щоб її вирішити.
Їх мотивувала як можливість зробити круту фічу для всіх наших користувачів, так і бажання подивитися танець Сіда.
В результаті, GitLab 8.16 можна розгорнути в Google Container Engine. У ньому відразу буде автомасштабируемое CI, автоматичне розгортання в ваш власний кластер Kubernetes, чати Mattermost, підтримка приватного реєстру Docker та налаштування сертифікатів з допомогою let's Encrypt:

А на цьому відео наші розробники демонструють робочий прототип, а потім Сід виконує свою частину угоди. Якщо Сід цікавить вас більше, ніж демонстрація, дивіться відразу з 28:29.

Детальніше про розгортання в GKE
Все, що було показано у другому відео, ви можете зробити прямо зараз.
Підпишіться на Google Cloud і дотримуйтесь інструкцій в документації по idea to production на Google Container Engine.
Для роботи з Kubernetes зверніться до документації щодо налаштування автоматичного розгортання.
Ми працюємо над тим, щоб реалізація принципу «idea to production» ставала простіше і доступніше кожному.
Моніторинг GitLab з допомогою Prometheus
ми поділилися планами по впровадженню системи моніторингу світового рівня в GitLab. У версії 8.16 ми починаємо втілювати ці плани в реальність. В даний реліз включені Prometheus його Node Exporter як частина пакета Omnibus. З їх допомогою стало можливим проводити високоякісний тимчасової моніторинг ресурсів вашого сервера GitLab.
У даному релізі Prometheus та Node Exporter за замовчуванням, однак починаючи з GitLab 9.0 ми плануємо включати їх за замовчуванням. Вихід GitLab 9.0 заплановано на 22 березня.
Для включення моніторингу поточної версії просто підключіть відповідні фічі і проведіть переконфігурацію GitLab.
Після включення Prometheus ви можете підключитися до
<your_domain_name>:9090
для доступу до консолі Prometheus, або використовувати сторонні утиліти, наприклад Grafana.
В найближчі місяці на сторінки середовищ розгортання буде додано більше графіків, наприклад, для оцінки впливу процесу розгортання на використання пам'яті.
Система обліку часу в CE і її програмний інтерфейс
У GitLab 8.14 Enterprise Edition була введена система обліку часу, яка користується великою популярністю. Багато користувачі висловили думку, що дана система є важливою не тільки для великих компаній, але і для маленьких команд розробників. Ми прислухалися до вашої думки: починаючи з версії 8.16 система обліку часу переміщається в Community Edition.
Більш того, у системи обліку часу тепер є повноцінний API, що надає ту ж функціональність, що і користувальницький. Завдяки цьому тепер ви можете оцінити час витрачений на певні завдання і мерж-реквесты.
Документація системи обліку часу

Документація API системи обліку часу для мерж-реквестов і задач
GitLab Pages у 8.17
Ми обіцяли перенести GitLab Pages в CE і почали працювати над цим. Ми плануємо закінчити до виходу GitLab 8.17 в наступному місяці.
Новий інтерфейс пошуку і фільтрації завдань
Якщо ви користуєтеся завданнями, швидше за все у вас їх багато. Для вашої зручності, ми додали в GitLab можливість пошуку і фільтрації завдань на основі їх властивостей. У версії 8.16 ми змінили дизайн цього інтерфейсу, зробивши його більш інтуїтивним, а заодно модернізували його зовнішній вигляд. Також це дозволить розширювати функціональність пошуку і фільтрації в майбутньому.
Improved issue search and filters in GitLab 8.16
Ми почали з завдань, але плануємо незабаром перенести оновлений дизайн і інші компоненти GitLab.
Improved issue search and filters in GitLab 8.16
Скасування схвалення мерж-реквестов в GitLab EE
У GitLab Enterprise Edition Starter існує можливість схвалення (approve) мерж-реквестов. Досі цю дію було незворотнім, адже існує безліч ситуацій, в яких схвалення хочеться скасувати.
Unapprove merge requests in GitLab 8.16
Може бути, ви побачили в диффе щось, що втратили раніше, а може бути, до мерж-реквесту з'явилися нові питання у інших членів команди, і поки ці питання не вирішені, схвалення потрібно прибрати.
Unapprove merge requests in GitLab 8.16
У GitLab 8.16 EE з'явилася можливість це зробити. Для скасування схвалення достатньо просто натиснути на віджет мерж-реквеста. Як при схваленні реквеста, так і при знятті схвалення записуються системні замітки в обговоренні мерж-реквеста, а також надсилаються листи з нотификациями.
Unapprove merge requests in GitLab 8.16
Оновлена версія системи схвалень доступна в GitLab Enterprise Edition Starter, Premium і на GitLab.com.
Ключі розгортання з доступом на запис
Ключі розгортання (deploy keys) ідеально підходять для видачі обмеженого доступу на читання до вашого сховища ззовні, наприклад при розгортанні.
Ми додали можливість видавати доступ на запис з ключами розгортання. Це дозволить власнику такого ключа проводити пуш в ваш репозиторій, що може бути корисно при установці тега Git при розгортанні, пуше артефактів складання в репозиторій і т. д.
За замовчуванням ключі розгортання видають доступ тільки на читання; вже існуючі ключі не зміняться.
Функціональність ключів розгортання з доступом на запис була додана Ali Ibrahim. Спасибі, Ali!
Обмеження використання Shared Runner (EE Starter/Premium)
Мало того, що GitLab CI автоматично масштабується за будь-якого запиту, загальні Runner сильно полегшують впровадження CI в цілу організацію. По суті, пропонувати сервіси CI настільки просто, що ми усвідомили величезну потребу обмежувати використання загальних ресурсів.
Limit build minutes usage in GitLab 8.16 EE
З GitLab 8.16 Enterprise Edition ви можете обмежувати час складання загальних для групи Runner. Один раз зайшовши за межі ліміту, конвеєри більше не будуть виконуватися на загальних Runners. Це дозволить вам запобігти переиспользование загальних ресурсів при використанні GitLab CI.
Limit build minutes usage in GitLab 8.16 EE
Детальніше про обмеження на хвилини складання Shared Runners
Представляємо нову слеш команду
/merge
для мерж реквестов
Слеш команди – це дуже швидкий спосіб виконати групу операцій над завданнями і мерж-реквестами в GitLab. Просто друкуєте одну з команд в описі або коментарі завдання або мерж-реквеста, і команди будуть виконані як тільки ви натиснете Enter.
З допомогою слеш-команд ви можете зробити навіть мерж. Додайте
/merge
і мерж-реквест виконається, коли буде готовий, якщо у вас дозвіл це зробити.
У GitLab слеш-команд дуже багато, подивитися їх усі можна тут
Модифікуємо навігацію та налаштування проекту
У GitLab ми робимо короткі ітерації. Тому час від часу ми обдумуємо заново і модернізуємо наші налаштування і навігацію.
У GitLab 8.15 випадаюче меню налаштувань проекту складається з безлічі пунктів. Більш того, нас трохи бентежило те, що меню само по собі розташоване далеко від вкладок навігації в центрі сторінки. У кількох наступних релізах ми будемо модифікувати навігацію і групувати налаштування як треба.
Improved settings navigation in GitLab 8.16
У 8.16 ми тільки почали ці зміни, об'єднавши в один пункти меню
Members
та
Groups
. Перехід на нову сторінку покаже обидві цих сторінок на одній. Таким же чином ми об'єднали
Webhooks
та
Services
на
Integrations
.
Відзначаємо і показуємо дату останніх використаних ключів SSH
Якщо ви завантажували кілька ключів SSH, може бути складно сказати, який з них ви використовували останнім.
GitLab тепер повідомляє, який SSH-ключ був використаний останнім. Цю інформацію можна знайти в своєму профілі в ключах:
/profile/keys
.
Спасибі Vincent Wong за розробку такої корисної фічі!
Статистика сховища
Окей, ми визнаємо: ми робимо все можливе, щоб використовувати як можна більше дискового простору. Ви можете використовувати GitLab для зберігання артефактів складання, ваших образів Докера, об'єктів LFS, блобов Git і т. д.
Щоб вам було трохи простіше дивитися, що йде ваш дисковий простір, GitLab тепер робить звіти за проектом і групує скільки було використано дискового простору і на що (репозиторії, артефакти (включаючи образи Docker) або LFS).
See how storage is being used in GitLab 8.16
За цю фічу спасибі MVP цього місяця Markus Koller!
GitLab Runner
Також сьогодні ми випускаємо GitLab Runner 1.10. Найцікавіші зміни:
  • Додали припинення пільгового періоду для Kubernetes executor !383
  • Додали параметри для реквестов ресурсів Kubernetes !391
  • Додали інтервал опитування і параметри таймауту для Kubernetes executor !384
  • Пройшли ImagePullSecrets для Kubernetes executor !449
  • Додали можливість переписувати простору імен Kubernetes executor !444
  • Додали підтримку GIT_SUBMODULE_STRATEGY !443
  • Додали метрику Prometheus, яка вважає число знайдених помилок !439
  • Оновили Docker Machine в офіційних образах Runner до версії 0.9.0 !454
  • Додали для runners опцію командного рядка '--run-tagged-only' !438
  • Додали armv6l в список замін в ARM для образу помічника запуску docker !446
Щоб переглянути повний список змін, читайте CHANGELOG файл Runner.
GitLab Mattermost 3.6
GitLab 8.16 включає Mattermost 3.6, опенсорсную альтернативу Slack, новий реліз якого пропонують покращене мультикомандное розгортання, першу версію емодзі-реакцій, покращений інтерфейс командного рядка і багато іншого.
Ця версія включає оновлення безпеки. Рекомендуємо оновити.


Докладні release notes і інструкції по оновленню/установці можна прочитати в оригінальному англомовному пості: https://about.gitlab.com/2017/01/22/gitlab-8-16-released/
Переклад з англійської виконаний перекладацької артіллю «Надмозг і партнери», http://nadmosq.ru. Над перекладом працювали nick_volynkin, rishavant і sgnl_05.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.