Вийшов 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, де Сід пропонує своїм колегам парі:
В минулому місяці (переклад, оригінал) ми показали вам, як буде виглядати процес розробки в найближчому майбутньому.
Всього за кілька хвилин, маючи тільки планувальник контейнерів (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 ви можете підключитися до
В найближчі місяці на сторінки середовищ розгортання буде додано більше графіків, наприклад, для оцінки впливу процесу розгортання на використання пам'яті.
Система обліку часу в CE і її програмний інтерфейс
У GitLab 8.14 Enterprise Edition була введена система обліку часу, яка користується великою популярністю. Багато користувачі висловили думку, що дана система є важливою не тільки для великих компаній, але і для маленьких команд розробників. Ми прислухалися до вашої думки: починаючи з версії 8.16 система обліку часу переміщається в Community Edition.
Більш того, у системи обліку часу тепер є повноцінний API, що надає ту ж функціональність, що і користувальницький. Завдяки цьому тепер ви можете оцінити час витрачений на певні завдання і мерж-реквесты.
Ми обіцяли перенести GitLab Pages в CE і почали працювати над цим. Ми плануємо закінчити до виходу GitLab 8.17 в наступному місяці.
Новий інтерфейс пошуку і фільтрації завдань
Якщо ви користуєтеся завданнями, швидше за все у вас їх багато. Для вашої зручності, ми додали в GitLab можливість пошуку і фільтрації завдань на основі їх властивостей. У версії 8.16 ми змінили дизайн цього інтерфейсу, зробивши його більш інтуїтивним, а заодно модернізували його зовнішній вигляд. Також це дозволить розширювати функціональність пошуку і фільтрації в майбутньому.

Ми почали з завдань, але плануємо незабаром перенести оновлений дизайн і інші компоненти GitLab.

Скасування схвалення мерж-реквестов в GitLab EE
У GitLab Enterprise Edition Starter існує можливість схвалення (approve) мерж-реквестов. Досі цю дію було незворотнім, адже існує безліч ситуацій, в яких схвалення хочеться скасувати.

Може бути, ви побачили в диффе щось, що втратили раніше, а може бути, до мерж-реквесту з'явилися нові питання у інших членів команди, і поки ці питання не вирішені, схвалення потрібно прибрати.

У GitLab 8.16 EE з'явилася можливість це зробити. Для скасування схвалення достатньо просто натиснути на віджет мерж-реквеста. Як при схваленні реквеста, так і при знятті схвалення записуються системні замітки в обговоренні мерж-реквеста, а також надсилаються листи з нотификациями.

Оновлена версія системи схвалень доступна в GitLab Enterprise Edition Starter, Premium і на GitLab.com.
Ключі розгортання з доступом на запис
Ключі розгортання (deploy keys) ідеально підходять для видачі обмеженого доступу на читання до вашого сховища ззовні, наприклад при розгортанні.
Ми додали можливість видавати доступ на запис з ключами розгортання. Це дозволить власнику такого ключа проводити пуш в ваш репозиторій, що може бути корисно при установці тега Git при розгортанні, пуше артефактів складання в репозиторій і т. д.
За замовчуванням ключі розгортання видають доступ тільки на читання; вже існуючі ключі не зміняться.
Функціональність ключів розгортання з доступом на запис була додана Ali Ibrahim. Спасибі, Ali!
Обмеження використання Shared Runner (EE Starter/Premium)
Мало того, що GitLab CI автоматично масштабується за будь-якого запиту, загальні Runner сильно полегшують впровадження CI в цілу організацію. По суті, пропонувати сервіси CI настільки просто, що ми усвідомили величезну потребу обмежувати використання загальних ресурсів.

З GitLab 8.16 Enterprise Edition ви можете обмежувати час складання загальних для групи Runner. Один раз зайшовши за межі ліміту, конвеєри більше не будуть виконуватися на загальних Runners. Це дозволить вам запобігти переиспользование загальних ресурсів при використанні GitLab CI.

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

У 8.16 ми тільки почали ці зміни, об'єднавши в один пункти меню
Відзначаємо і показуємо дату останніх використаних ключів SSH
Якщо ви завантажували кілька ключів SSH, може бути складно сказати, який з них ви використовували останнім.
GitLab тепер повідомляє, який SSH-ключ був використаний останнім. Цю інформацію можна знайти в своєму профілі в ключах:
Спасибі Vincent Wong за розробку такої корисної фічі!
Статистика сховища
Окей, ми визнаємо: ми робимо все можливе, щоб використовувати як можна більше дискового простору. Ви можете використовувати GitLab для зберігання артефактів складання, ваших образів Докера, об'єктів LFS, блобов Git і т. д.
Щоб вам було трохи простіше дивитися, що йде ваш дисковий простір, GitLab тепер робить звіти за проектом і групує скільки було використано дискового простору і на що (репозиторії, артефакти (включаючи образи Docker) або LFS).

За цю фічу спасибі MVP цього місяця Markus Koller!
GitLab Runner
Також сьогодні ми випускаємо GitLab Runner 1.10. Найцікавіші зміни:
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.
Джерело: Хабрахабр
Наша мета — зробити участь у розробці доступним для кожного. Для цього ми робимо інструментарій 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, що надає ту ж функціональність, що і користувальницький. Завдяки цьому тепер ви можете оцінити час витрачений на певні завдання і мерж-реквесты.
Документація системи обліку часуGitLab Pages у 8.17
Документація API системи обліку часу для мерж-реквестов і задач
Ми обіцяли перенести GitLab Pages в CE і почали працювати над цим. Ми плануємо закінчити до виходу GitLab 8.17 в наступному місяці.
Новий інтерфейс пошуку і фільтрації завдань
Якщо ви користуєтеся завданнями, швидше за все у вас їх багато. Для вашої зручності, ми додали в GitLab можливість пошуку і фільтрації завдань на основі їх властивостей. У версії 8.16 ми змінили дизайн цього інтерфейсу, зробивши його більш інтуїтивним, а заодно модернізували його зовнішній вигляд. Також це дозволить розширювати функціональність пошуку і фільтрації в майбутньому.

Ми почали з завдань, але плануємо незабаром перенести оновлений дизайн і інші компоненти GitLab.

Скасування схвалення мерж-реквестов в GitLab EE
У GitLab Enterprise Edition Starter існує можливість схвалення (approve) мерж-реквестов. Досі цю дію було незворотнім, адже існує безліч ситуацій, в яких схвалення хочеться скасувати.

Може бути, ви побачили в диффе щось, що втратили раніше, а може бути, до мерж-реквесту з'явилися нові питання у інших членів команди, і поки ці питання не вирішені, схвалення потрібно прибрати.

У GitLab 8.16 EE з'явилася можливість це зробити. Для скасування схвалення достатньо просто натиснути на віджет мерж-реквеста. Як при схваленні реквеста, так і при знятті схвалення записуються системні замітки в обговоренні мерж-реквеста, а також надсилаються листи з нотификациями.

Оновлена версія системи схвалень доступна в GitLab Enterprise Edition Starter, Premium і на GitLab.com.
Ключі розгортання з доступом на запис
Ключі розгортання (deploy keys) ідеально підходять для видачі обмеженого доступу на читання до вашого сховища ззовні, наприклад при розгортанні.
Ми додали можливість видавати доступ на запис з ключами розгортання. Це дозволить власнику такого ключа проводити пуш в ваш репозиторій, що може бути корисно при установці тега Git при розгортанні, пуше артефактів складання в репозиторій і т. д.
За замовчуванням ключі розгортання видають доступ тільки на читання; вже існуючі ключі не зміняться.
Функціональність ключів розгортання з доступом на запис була додана Ali Ibrahim. Спасибі, Ali!
Обмеження використання Shared Runner (EE Starter/Premium)
Мало того, що GitLab CI автоматично масштабується за будь-якого запиту, загальні Runner сильно полегшують впровадження CI в цілу організацію. По суті, пропонувати сервіси CI настільки просто, що ми усвідомили величезну потребу обмежувати використання загальних ресурсів.

З GitLab 8.16 Enterprise Edition ви можете обмежувати час складання загальних для групи Runner. Один раз зайшовши за межі ліміту, конвеєри більше не будуть виконуватися на загальних Runners. Це дозволить вам запобігти переиспользование загальних ресурсів при використанні GitLab CI.

Детальніше про обмеження на хвилини складання Shared RunnersПредставляємо нову слеш команду
/merge
для мерж реквестовСлеш команди – це дуже швидкий спосіб виконати групу операцій над завданнями і мерж-реквестами в GitLab. Просто друкуєте одну з команд в описі або коментарі завдання або мерж-реквеста, і команди будуть виконані як тільки ви натиснете Enter.
З допомогою слеш-команд ви можете зробити навіть мерж. Додайте
/merge
і мерж-реквест виконається, коли буде готовий, якщо у вас дозвіл це зробити.У GitLab слеш-команд дуже багато, подивитися їх усі можна тут
Модифікуємо навігацію та налаштування проекту
У GitLab ми робимо короткі ітерації. Тому час від часу ми обдумуємо заново і модернізуємо наші налаштування і навігацію.
У GitLab 8.15 випадаюче меню налаштувань проекту складається з безлічі пунктів. Більш того, нас трохи бентежило те, що меню само по собі розташоване далеко від вкладок навігації в центрі сторінки. У кількох наступних релізах ми будемо модифікувати навігацію і групувати налаштування як треба.

У 8.16 ми тільки почали ці зміни, об'єднавши в один пункти меню
Members
та Groups
. Перехід на нову сторінку покаже обидві цих сторінок на одній. Таким же чином ми об'єднали Webhooks
та Services
на Integrations
.Відзначаємо і показуємо дату останніх використаних ключів SSH
Якщо ви завантажували кілька ключів SSH, може бути складно сказати, який з них ви використовували останнім.
GitLab тепер повідомляє, який SSH-ключ був використаний останнім. Цю інформацію можна знайти в своєму профілі в ключах:
/profile/keys
.Спасибі Vincent Wong за розробку такої корисної фічі!
Статистика сховища
Окей, ми визнаємо: ми робимо все можливе, щоб використовувати як можна більше дискового простору. Ви можете використовувати GitLab для зберігання артефактів складання, ваших образів Докера, об'єктів LFS, блобов Git і т. д.
Щоб вам було трохи простіше дивитися, що йде ваш дисковий простір, GitLab тепер робить звіти за проектом і групує скільки було використано дискового простору і на що (репозиторії, артефакти (включаючи образи Docker) або LFS).

За цю фічу спасибі 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
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 коментарів