Καλημέρα! (Доброе утро!) В этот раз мы приветствуем вас из греческого города Гераклиона.
С самого начала работы над GitLab мы стремимся создать инструмент, позволяющий каждому внести свой вклад. С каждым релизом мы становимся на шаг ближе к этой цели. В GitLab 10.1 появились новые инструменты для совместной работы, повысилась безопасность, улучшился механизм аутентификации, производительность выросла, а интерфейс стал еще удобнее.
Когда вы обсуждаете код, очень удобно комментировать конкретные строки. А что насчет изображений? Часто в приложении есть пользовательский (или веб-) интерфейс, либо другая графика — и для работы над ними нужен инструмент, аналогичный комментированию строк. В GitLab теперь есть такой инструмент, он называется комментированием изображений (image discussions). Также в GitLab теперь можно открывать мерж-реквесты между форками одного репозитория.
Мы постоянно повышаем безопасность и работаем над механизмами аутентификации. В этом релизе мы добавили фильтры для синхронизации групп LDAP и возможность отклонять неподписанные коммиты. Мы также добавили новые метрики в лог аудита для администраторов и реализовали поддержку подключей GPG.
Проекты с открытым исходным кодом привлекают много посетителей и контрибьюторов. Эти люди не всегда общаются цивилизованно. В GitLab 10.1 появился инструмент модерации: теперь можно блокировать обсуждения задач и мерж-реквестов.
Мы следуем нашему видению DevOps. В этом релизе мы упростили создание кластеров Google Container Engine из GitLab. HTML-артефакты сборки теперь открываются прямо в интерфейсе GitLab. Это позволяет просматривать результаты тестов без необходимости где-то их публиковать.
Опция “fast-forward merge”, ранее доступная только в Enterprise Edition Starter, теперь появится в Community Edition.
Мы обновили страницу создания проекта: теперь стало проще выбрать нужный вам тип проекта. Вы можете создать пустой проект, использовать шаблон или импортировать проект из внешнего репозитория.
Как и всегда, мы работаем над производительностью GitLab. В этот релиз вошло множество улучшений, в том числе ускорение загрузки мерж-реквестов и других страниц.
Звание MVP в этом месяце получил Виталий Клачков (хабраюзер @blackst0ne), предложивший целых 23 улучшения. Он уже довольно долго участвует в разработке GitLab и входит в GitLab core team. Виталий поработал над разными задачами: от API и пользовательского интерфейса до разработки тестов (18 мерж-реквестов!) и по праву заслужил звание MVP.
Виталий, спасибо за ваш труд!
Каждый может сделать свой вклад в GitLab, но не каждый вклад было удобно обсуждать. Теперь работы графических дизайнеров, дизайнеров интерфейсов, иллюстраторов, фронтенд-разработчиков и всех остальных, кто работает с изображениями, можно комментировать в деталях.
Чтобы начать обсуждение, кликните в любую точку изображения на странице коммита или мерж-реквеста. На одном изображении может быть несколько точек обсуждения.
Когда обсуждение закончилось, отметьте его как завершенное — точно так же, как в обсуждении кода. Счетчик незакрытых обсуждений в мерж-реквесте учитывает оба типа обсуждений.
Документация по комментированию изображений.
В этом релизе появилась возможность блокировать обсуждение в конкретной задаче или мерж-реквесте. После этого только члены проекта смогут редактировать или отправлять новые сообщения. Блокировка доступна учетным записям с уровнем доступа к данному проекту не ниже Master. Блокировка может быть полезна в борьбе со спамом или некорректным поведением, а также для того, чтобы перенести обсуждение в другую задачу или реквест.
Документация по блокировке обсуждений.
Форк (fork) — это самостоятельная копия репозитория, которую может создать себе любой разработчик. Форки и мерж-реквесты предлагают хорошую альтернативу работе с ветками внутри одного репозитория: они позволяют разработчикам предлагать изменения, не имея прямого доступа на пуш в основной репозиторий.
Раньше форки были изолированы друг от друга. Разработчики, работающие в разных форках, не могли предложить друг другу мерж-реквест. В GitLab 10.1 это стало возможным.
Совместная работа в форках стала проще. Теперь разработчики могут открывать мерж-реквесты, проводить ревью и собирать изменения воедино, прежде чем отправить мерж-реквест в основной репозиторий.
Документация по мерж-реквестам между форками одного репозитория.
Мы продолжаем работать над расширением возможностей аутентификации Enterprise: в GitLab 10.1 появилась возможность синхронизации с группами LDAP на основе фильтров, включая пользовательские атрибуты.
В больших и сложных имплементациях LDAP могут содержаться дополнительные метаданные для разрешений доступа, ролей и типов пользователей. Введение групповых фильтров расширяет возможности контроля пользователей напрямую через LDAP.
GitLab EES уже поддерживает синхронизацию групп LDAP и GitLab на базовом уровне. Однако, при таком подходе структуры групп LDAP и GitLab должны быть идентичными.
Введение в GitLab EEP групповых фильтров синхронизации расширяет возможности использования существующих структур и атрибутов LDAP, что позволяет более эффективно управлять доступами в GitLab.
Документация по групповым фильтрам синхронизации LDAP.
Возможность проверки подлинности автора коммита через интеграцию с GPG была добавлена в GitLab 9.5. А теперь в GitLab Enterprise Edition Premium появилась возможность использования push-правил для проведения проверки и отклонения неподписанных коммитов.
Документация по отклонению неподписанных коммитов.
Любому приложению нужен дом, а в случае веб-приложений и микросервисов таким домом может стать кластер Kubernetes, который к тому же способен проводить развертывание приложений для ревью в цикле разработки. Однако, стоит помнить, что настройка кластера — непростая работа, а разработчики не должны отвлекаться от написания кода на настройку инфраструктуры.
Поэтому мы добавили в GitLab 10.1 возможность привязки аккаунта Google к проектам, а также создания новых кластеров Kubernetes на Google Container Engine (GKE). Для этого достаточно лишь включить соответствующие сервисы для вашего аккаунта и задать несколько параметров. Такие кластеры готовы к использованию сразу после создания и могут быть использованы, к примеру, Auto DevOps для запуска ваших приложений.
Документация по упрощению создания кластеров Kubernetes на GKE (бета-версия).
Множество проектов полагается на автоматическое тестирование GitLab, поэтому разработчики должны иметь доступ к результатам тестирования. Это лишь один из примеров, демонстрирующих важность создания отчетов HTML и предоставления простого доступа к ним.
В GitLab 10.1 мы добавили онлайн-визуализацию файлов HTML, созданных конвейерами публичных проектов. Она расположена в одном клике от окна просмотра артефактов. Теперь вы можете легко просмотреть ваши отчеты по тестам, качеству кода, а также информацию о покрытии прямо в вашем браузере, без скачивания.
Документация по онлайн-отображению артефактов HTML.
В GitLab 9.5 была добавлена интеграция с GPG, благодаря которой стало возможным подписывать коммиты для подтверждения подлинности. Широко распространено использование подтвержденных подключей для подписи коммитов, так что такая возможность была добавлена в GitLab 10.1.
Документация по подписи коммитов подключами GPG.
Создание проекта является первым шагом при работе с GitLab. В данном релизе мы улучшили страницу создания нового проекта (New Project) с целью упрощения этого процесса. Теперь стало проще применять шаблоны проектов, добавленные в GitLab 9.5, благодаря чему можно создавать пустые проекты, проекты с работающими примерами кода и преднастроенным CI, а также импортировать существующие проекты из другого места.
Документация по улучшениям страницы создания нового проекта.
Мы добавили дополнительные полномочия разработчикам, поскольку управление майлстоунами — ответственность команды разработки ПО. Пользователи с правами разработчика теперь могут создавать, редактировать и удалять майлстоуны проектов и групп.
Документация по управлению майлстоунами с уровнем доступа разработчика.
Мы продолжаем работу над локализацией GitLab. В данном релизе мы экстернализировали (externalize) строки на страницах Branches, Group и Wiki, что позволит нашему сообществу добавлять больше языков и строк в GitLab.
Если вы хотите поучаствовать в локализации GitLab, мы будем рады вас видеть в нашем сообществе по локализации.
Документация по улучшениям локализации.
Для аудита безопасности крайне важно быть в курсе всего, что происходит в вашем инстансе GitLab.
В GitLab EES (Enterprise Edition Starter) присутствуют базовые возможности ревизии событий: для каждой группы и репозитория поддерживается простой лог прошедших событий.
Лог пользовательских действий был добавлен в GitLab 9.3, благодаря чему у администраторов появился доступ к централизованному логу событий групп, проектов и действий отдельных пользователей. В логи GitLab 10.1 добавлены новые действия:
Документация по улучшениям лога пользовательских дейтсвий.
Множество пользователей GitLab говорили нам, что, даже при работе в небольших командах, им не хватает гибкости в выборе метода мержа. В данном релизе мы добавляем в GitLab Community Edition (CE) функциональности полу-линейной истории (semi-linear history) и fast-forward мерж-реквестов, ранее доступные только в GitLab Enterprise Edition.
Документация по полулинейной истории и fast-forward мержам в CE.
До GitLab 10.1 уведомления в Slack включали только ник (username) пользователя GitLab. В этом релизе появится возможность видеть полное имя пользователя. В новом формате упоминание выглядит так: Имя Фамилия (ник)
.
Документация по именам пользователей GitLab в уведомлениях в Slack.
Отныне вы можете использовать новое ключевое слово implements
и его вариации в сообщении коммита или описании мерж-реквеста. Когда мерж-реквест будет принят и коммит попадет в стабильную ветку, задача будет автоматически закрыта (отмечена как выполненная):
git commit -m 'Do foo; fix bar; implements #123'
Новое ключевое слово добавляется к уже известным closes
, fixes
и resolves
и их вариациям.
Документация о ключевых словах для автоматического закрытия задач.
Для усиления безопасности GitLab теперь запрашивает подтверждение электронной почты при регистрации.
Эта функциональность теперь распространяется и на дополнительные адреса электронной почты, которые пользователь добавил в аккаунт, чтобы убедиться, что все адреса электронной почты подтверждены.
Документация по повторному подтверждению электронной почты.
gitlab.rb
появились дополнительные настройки Postgres: effective_io_concurrency
, max_worker_processes
, max_parallel_workers_per_gather
, log_lock_waits
, track_io_timing
и deadlock_timeout
.Документация по улучшениям Omnibus.
Важные изменения, выпускаемые с версией GitLab 10.1:
Посмотрите полный список изменений.
Производительность — важная часть GitLab, позволяющая ему масштабироваться до поддержки сотен и даже тысяч пользователей.
GitLab 10.1 включает 20 улучшений производительности, среди которых более быстрый просмотр мерж-реквестов, ускоренный импорт из GitHub и общие улучшения загрузки главной страницы. Раздел Container Registry теперь разбит на несколько страниц, что сильно упростило работу с ним. Оптимизирован процесс поиска из тулбара — в нем теперь есть просмотр проектов и задач. Кнопка Rebase стала значительно быстрее.
Все улучшениям производительности здесь.
Также с этим релизом мы выпускаем GitLab Runner 10.1! GitLab Runner — это проект с открытым исходным кодом, используемый для запуска ваших CI/CD работ и отправления результатов обратно в GitLab.
Полный список изменений вы найдете в CHANGELOG для GitLab Runner.
Документация по GitLab Runner 10.1.
Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 10.1 Released with Image Discussions and Rejection of Unsigned Commits.
Перевод с английского выполнен переводческой артелью «Надмозг и партнеры», http://nadmosq.ru. Над переводом работали @rishavant, @sgnl_05 и @nick_volynkin.