История с удалением базы конечно затмила все остальные новости про ГитЛаб. Так что если вы пропустили релизный пост про изменения и новые функции в 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 мы изменили дизайн этого интерфейса, сделав его более интуитивным, а заодно модернизировали его внешний вид. Также это позволит расширять функциональность поиска и фильтрации в будущем.
Мы начали с задач, но планируем в скором времени перенести обновленный дизайн и в другие компоненты 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.
Представляем новую слэш команду /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
Чтобы посмотреть полный список изменений, читайте 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.
Автор: Softmart