- PVSM.RU - https://www.pvsm.ru -

Вышел GitLab 10.1: комментирование изображений и блокировка неподписанных коммитов

Картинка для привлечения внимания

Καλημέρα! (Доброе утро!) В этот раз мы приветствуем вас из греческого города Гераклиона.

С самого начала работы над GitLab мы стремимся создать инструмент, позволяющий каждому внести свой вклад [1]. С каждым релизом мы становимся на шаг ближе к этой цели. В GitLab 10.1 появились новые инструменты для совместной работы, повысилась безопасность, улучшился механизм аутентификации, производительность выросла, а интерфейс стал еще удобнее.

Когда вы обсуждаете код, очень удобно комментировать конкретные строки. А что насчет изображений? Часто в приложении есть пользовательский (или веб-) интерфейс, либо другая графика — и для работы над ними нужен инструмент, аналогичный комментированию строк. В GitLab теперь есть такой инструмент, он называется комментированием изображений [2] (image discussions). Также в GitLab теперь можно открывать мерж-реквесты между форками одного репозитория [3].

Мы постоянно повышаем безопасность и работаем над механизмами аутентификации. В этом релизе мы добавили фильтры для синхронизации групп LDAP [4] и возможность отклонять неподписанные коммиты [5]. Мы также добавили новые метрики в лог аудита для администраторов [6] и реализовали поддержку подключей GPG [7].

Проекты с открытым исходным кодом привлекают много посетителей и контрибьюторов. Эти люди не всегда общаются цивилизованно. В GitLab 10.1 появился инструмент модерации: теперь можно блокировать обсуждения задач и мерж-реквестов [8].

Мы следуем нашему видению DevOps [9]. В этом релизе мы упростили создание кластеров Google Container Engine из GitLab [10]. HTML-артефакты сборки [11] теперь открываются прямо в интерфейсе GitLab. Это позволяет просматривать результаты тестов без необходимости где-то их публиковать.

Опция “fast-forward merge” [12], ранее доступная только в Enterprise Edition Starter, теперь появится в Community Edition.

Мы обновили страницу создания проекта [13]: теперь стало проще выбрать нужный вам тип проекта. Вы можете создать пустой проект, использовать шаблон или импортировать проект из внешнего репозитория.

Как и всегда, мы работаем над производительностью GitLab. В этот релиз вошло множество улучшений [14], в том числе ускорение загрузки мерж-реквестов и других страниц.

Приглашаем на наши встречи! [15]

GitLab MVP badge

MVP [16] месяца — Виталий Клачков [17]

Звание MVP в этом месяце получил Виталий Клачков (читатель blackst0ne [18]), предложивший целых 23 улучшения [19]. Он уже довольно долго участвует в разработке GitLab и входит в GitLab core team [20]. Виталий поработал над разными задачами: от API и пользовательского интерфейса до разработки тестов (18 мерж-реквестов!) и по праву заслужил звание MVP.

Виталий, спасибо за ваш труд!

Комментирование изображений (CE, EES, EEP)

Каждый может сделать свой вклад в GitLab, но не каждый вклад было удобно обсуждать. Теперь работы графических дизайнеров, дизайнеров интерфейсов, иллюстраторов, фронтенд-разработчиков и всех остальных, кто работает с изображениями, можно комментировать в деталях.

Чтобы начать обсуждение, кликните в любую точку изображения на странице коммита или мерж-реквеста. На одном изображении может быть несколько точек обсуждения.

Когда обсуждение закончилось, отметьте его как завершенное — точно так же, как в обсуждении кода. Счетчик незакрытых обсуждений в мерж-реквесте учитывает оба типа обсуждений.

Image discussions

Документация по комментированию изображений [21].

Блокировка обсуждений (CE, EES, EEP)

В этом релизе появилась возможность блокировать обсуждение в конкретной задаче или мерж-реквесте. После этого только члены проекта смогут редактировать или отправлять новые сообщения. Блокировка доступна учетным записям с уровнем доступа к данному проекту не ниже Master. Блокировка может быть полезна в борьбе со спамом или некорректным поведением, а также для того, чтобы перенести обсуждение в другую задачу или реквест.

Иллюстрация к Lock Discussions

Документация по блокировке обсуждений [22].

Мерж-реквесты между форками репозиториев (CE, EES, EEP)

Форк (fork) — это самостоятельная копия репозитория, которую может создать себе любой разработчик. Форки и мерж-реквесты предлагают хорошую альтернативу работе с ветками внутри одного репозитория: они позволяют разработчикам предлагать изменения, не имея прямого доступа на пуш в основной репозиторий.

Раньше форки были изолированы друг от друга. Разработчики, работающие в разных форках, не могли предложить друг другу мерж-реквест. В GitLab 10.1 это стало возможным.

Совместная работа в форках стала проще. Теперь разработчики могут открывать мерж-реквесты, проводить ревью и собирать изменения воедино, прежде чем отправить мерж-реквест в основной репозиторий.

Иллюстрация к Merge Requests Across Forks

Документация по мерж-реквестам между форками одного репозитория [23].

Групповые фильтры синхронизации LDAP (EEP)

Мы продолжаем работать над расширением возможностей аутентификации Enterprise: в GitLab 10.1 появилась возможность синхронизации с группами LDAP на основе фильтров, включая пользовательские атрибуты.

В больших и сложных имплементациях LDAP могут содержаться дополнительные метаданные для разрешений доступа, ролей и типов пользователей. Введение групповых фильтров расширяет возможности контроля пользователей напрямую через LDAP.

GitLab EES уже поддерживает синхронизацию групп LDAP и GitLab на базовом уровне. Однако, при таком подходе структуры групп LDAP и GitLab должны быть идентичными.

Введение в GitLab EEP групповых фильтров синхронизации расширяет возможности использования существующих структур и атрибутов LDAP, что позволяет более эффективно управлять доступами в GitLab.

Иллюстрация к LDAP Group Sync Filters

Документация по групповым фильтрам синхронизации LDAP [24].

Отклонение неподписанных коммитов (EEP)

Возможность проверки подлинности автора коммита через интеграцию с GPG [25] была добавлена в GitLab 9.5 [26]. А теперь в GitLab Enterprise Edition Premium появилась возможность использования push-правил для проведения проверки и отклонения неподписанных коммитов.

Иллюстрация к Reject Unsigned Commits

Документация по отклонению неподписанных коммитов [27].

Упрощение создания кластеров Kubernetes на GKE (Бета-версия) (CE, EES, EEP)

Любому приложению нужен дом, а в случае веб-приложений и микросервисов таким домом может стать кластер Kubernetes [28], который к тому же способен проводить развертывание приложений для ревью [29] в цикле разработки. Однако, стоит помнить, что настройка кластера — непростая работа, а разработчики не должны отвлекаться от написания кода на настройку инфраструктуры.

Поэтому мы добавили в GitLab 10.1 возможность привязки аккаунта Google к проектам, а также создания новых кластеров Kubernetes на Google Container Engine (GKE) [30]. Для этого достаточно лишь включить соответствующие сервисы для вашего аккаунта и задать несколько параметров. Такие кластеры готовы к использованию сразу после создания и могут быть использованы, к примеру, Auto DevOps [31] для запуска ваших приложений.

Иллюстрация к Easily Create Kubernetes Clusters on GKE (Beta)

Документация по упрощению создания кластеров Kubernetes на GKE (бета-версия) [32].

Онлайн-отображение артефактов HTML (CE, EES, EEP)

Множество проектов полагается на автоматическое тестирование GitLab, поэтому разработчики должны иметь доступ к результатам тестирования. Это лишь один из примеров, демонстрирующих важность создания отчетов HTML и предоставления простого доступа к ним.

В GitLab 10.1 мы добавили онлайн-визуализацию файлов HTML, созданных конвейерами публичных проектов. Она расположена в одном клике от окна просмотра артефактов. Теперь вы можете легко просмотреть ваши отчеты по тестам, качеству кода, а также информацию о покрытии прямо в вашем браузере, без скачивания.

Иллюстрация к Online View of HTML Artifacts

Документация по онлайн-отображению артефактов HTML [33].

Подпись коммитов подключами GPG (CE, EES, EEP)

В GitLab 9.5 была добавлена [34] интеграция с GPG, благодаря которой стало возможным подписывать коммиты для подтверждения подлинности. Широко распространено использование подтвержденных подключей для подписи коммитов, так что такая возможность была добавлена в GitLab 10.1.

Документация по подписи коммитов подключами GPG [35].

Улучшена страница создания нового проекта (CE, EES, EEP)

Создание проекта [36] является первым шагом при работе с GitLab. В данном релизе мы улучшили страницу создания нового проекта (New Project) с целью упрощения этого процесса. Теперь стало проще применять шаблоны проектов, добавленные в GitLab 9.5 [37], благодаря чему можно создавать пустые проекты, проекты с работающими примерами кода и преднастроенным CI, а также импортировать существующие проекты из другого места.

Иллюстрация к Improved New Project Page

Документация по улучшениям страницы создания нового проекта [38].

Управление майлстоунами с уровнем доступа разработчика (CE, EES, EEP)

Мы добавили дополнительные полномочия разработчикам, поскольку управление майлстоунами — ответственность команды разработки ПО. Пользователи с правами разработчика теперь могут создавать, редактировать и удалять майлстоуны проектов и групп.

Документация по управлению майлстоунами с уровнем доступа разработчика [39].

Улучшения локализации (CE, EES, EEP)

Мы продолжаем работу над локализацией GitLab. В данном релизе мы экстернализировали (externalize) строки на страницах Branches, Group и Wiki, что позволит нашему сообществу добавлять больше языков и строк в GitLab.

Если вы хотите поучаствовать в локализации GitLab, мы будем рады вас видеть в нашем сообществе по локализации [40].

Документация по улучшениям локализации [40].

Улучшенный лог пользовательских действий (EEP)

Для аудита безопасности крайне важно быть в курсе всего, что происходит в вашем инстансе GitLab.

В GitLab EES (Enterprise Edition Starter) присутствуют базовые возможности ревизии событий: для каждой группы и репозитория поддерживается простой лог прошедших событий.

Лог пользовательских действий был добавлен в GitLab 9.3 [41], благодаря чему у администраторов появился доступ к централизованному логу событий групп, проектов и действий отдельных пользователей. В логи GitLab 10.1 добавлены новые действия:

  • Добавление и удаление почтовых адресов
  • Смена и восстановление пароля
  • Неудачная попытка входа в систему
  • Добавление ключей SSH и предоставление доступа oAuth

Документация по улучшениям лога пользовательских дейтсвий [42].

Полу-линейная история и fast-forward мерж в CE (CE, EES, EEP)

Множество пользователей GitLab говорили нам, что, даже при работе в небольших командах, им не хватает гибкости в выборе метода мержа. В данном релизе мы добавляем в GitLab Community Edition (CE) функциональности полу-линейной истории (semi-linear history) [43]
и fast-forward мерж-реквестов [44], ранее доступные только в GitLab Enterprise Edition.

Документация по полулинейной истории и fast-forward мержам в CE [23].

Имя пользователя GitLab в уведомлениях в Slack (CE, EES, EEP)

До GitLab 10.1 уведомления в Slack включали только ник (username) пользователя GitLab. В этом релизе появится возможность видеть полное имя пользователя. В новом формате упоминание выглядит так: Имя Фамилия (ник).

Документация по именам пользователей GitLab в уведомлениях в Slack [45].

Новое ключевое слово для автоматически закрывающихся задач (CE, EES, EEP)

Отныне вы можете использовать новое ключевое слово implements и его вариации в сообщении коммита или описании мерж-реквеста. Когда мерж-реквест будет принят и коммит попадет в стабильную ветку, задача будет автоматически закрыта (отмечена как выполненная):

git commit -m 'Do foo; fix bar; implements #123'

Новое ключевое слово добавляется к уже известным closes, fixes и resolves и их вариациям.

Документация о ключевых словах для автоматического закрытия задач [46].

Подтверждение дополнительной электронной почты (CE, EES, EEP)

Для усиления безопасности GitLab теперь запрашивает подтверждение электронной почты при регистрации.

Эта функциональность теперь распространяется и на дополнительные адреса электронной почты, которые пользователь добавил в аккаунт, чтобы убедиться, что все адреса электронной почты подтверждены.

Документация по повторному подтверждению электронной почты [47].

Улучшения Omnibus (CE, EES, EEP)

  • Postgres обновлен до 9.6.5.
  • Prometheus обновлен до 1.7.2, Postgres exporter до 0.2.3, а Redis exporter до 0.12.2.
  • В gitlab.rb появились дополнительные настройки Postgres: effective_io_concurrency, max_worker_processes, max_parallel_workers_per_gather, log_lock_waits, track_io_timing и deadlock_timeout.
  • Чтобы упростить настройку GitLab в высокодоступных установках, добавлены роли [48].
  • Mattermost по-прежнему 4.2.0.

Документация по улучшениям Omnibus [49].

Улучшения GitLab Geo (EEP)

Важные изменения, выпускаемые с версией GitLab 10.1:

  • Улучшена производительность синхронизации репозитория: теперь поддерживаются инстансы GitLab большего размера (#3453 [50])
  • Улучшена обработка неуспешных синхронизаций репозитория — чтобы не дать очереди засориться постоянно падающими задачами (#3259 [51])
  • Добавлен путь для миграции в формат основанного на хэше хранилища, представленный в GitLab 10.0 (#3118 [52])
  • Вложения в персональных сниппетах теперь синхронизируются (#3644 [53])
  • После обновления до 10.1 вложения будут синхронизованы повторно [54] из-за бага

Посмотрите полный список изменений [55].

Документация по GitLab Geo [56].

Улучшения производительности (CE, EES, EEP)

Производительность — важная часть GitLab, позволяющая ему масштабироваться до поддержки сотен и даже тысяч пользователей.

GitLab 10.1 включает 20 улучшений производительности, среди которых более быстрый просмотр мерж-реквестов, ускоренный импорт из GitHub и общие улучшения загрузки главной страницы. Раздел Container Registry теперь разбит на несколько страниц, что сильно упростило работу с ним. Оптимизирован процесс поиска из тулбара — в нем теперь есть просмотр проектов и задач. Кнопка Rebase стала значительно быстрее.

Все улучшениям производительности здесь [57].

GitLab Runner 10.1 (CE, EES, EEP)

Также с этим релизом мы выпускаем GitLab Runner 10.1! GitLab Runner — это проект с открытым исходным кодом, используемый для запуска ваших CI/CD работ и отправления результатов обратно в GitLab.

Самые важные изменения:

Полный список изменений вы найдете в CHANGELOG для GitLab Runner [61].

Документация по GitLab Runner 10.1 [62].


Подробные release notes и инструкции по обновлению/установке можно прочитать в оригинальном англоязычном посте: GitLab 10.1 Released with Image Discussions and Rejection of Unsigned Commits [63].

Перевод с английского выполнен переводческой артелью «Надмозг и партнеры», http://nadmosq.ru [64]. Над переводом работали rishavant [65], sgnl_05 [66] и nick_volynkin [67].

Автор: nick_volynkin

Источник [68]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/267245

Ссылки в тексте:

[1] каждому внести свой вклад: https://about.gitlab.com/direction/#vision

[2] комментированием изображений: #kommentirovanie-izobrazheniy-ce-ees-eep

[3] открывать мерж-реквесты между форками одного репозитория: #merzh-rekvesty-mezhdu-forkami-repozitoriev-ce-ees-eep

[4] фильтры для синхронизации групп LDAP: #gruppovye-filtry-sinhronizacii-ldap-eep

[5] отклонять неподписанные коммиты: #otklonenie-nepodpisannyh-kommitov-eep

[6] лог аудита для администраторов: #uluchshennyy-log-polzovatelskih-deystviy-eep

[7] поддержку подключей GPG: #podpis-kommitov-podklyuchami-gpg-ce-ees-eep

[8] блокировать обсуждения задач и мерж-реквестов: #blokirovka-obsuzhdeniy-ce-ees-eep

[9] видению DevOps: https://about.gitlab.com/2017/10/11/from-dev-to-devops/

[10] создание кластеров Google Container Engine из GitLab: #uproschenie-sozdaniya-klasterov-kubernetes-na-gke-beta-versiya-ce-ees-eep

[11] HTML-артефакты сборки: #onlayn-otobrazhenie-artefaktov-html-ce-ees-eep

[12] Опция “fast-forward merge”: #polu-lineynaya-istoriya-i-fast-forward-merzh-v-ce-ce-ees-eep

[13] обновили страницу создания проекта: #uluchshena-stranica-sozdaniya-novogo-proekta-ce-ees-eep

[14] улучшений: #uluchsheniya-proizvoditelnosti-ce-ees-eep

[15] Приглашаем на наши встречи!: https://about.gitlab.com/events/

[16] MVP: https://about.gitlab.com/mvp/

[17] Виталий Клачков: https://gitlab.com/blackst0ne

[18] blackst0ne: https://habrahabr.ru/users/blackst0ne/

[19] 23 улучшения: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&label_name%5B%5D=Community%20Contribution&milestone_title=10.1&author_username=blackst0ne

[20] GitLab core team: https://about.gitlab.com/core-team

[21] Документация по комментированию изображений: https://docs.gitlab.com/ee/user/discussions/#image-discussions

[22] Документация по блокировке обсуждений: https://docs.gitlab.com/ee/user/discussions/#lock-discussions

[23] Документация по мерж-реквестам между форками одного репозитория: https://docs.gitlab.com/ee/user/project/merge_requests/

[24] Документация по групповым фильтрам синхронизации LDAP: https://docs.gitlab.com/ee/administration/auth/ldap-ee.html#group-sync

[25] GPG: https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/

[26] добавлена в GitLab 9.5: https://about.gitlab.com/2017/08/22/gitlab-9-5-released/

[27] Документация по отклонению неподписанных коммитов: https://docs.gitlab.com/ee/push_rules/push_rules.html#enabling-push-rules

[28] кластер Kubernetes: https://kubernetes.io/

[29] приложений для ревью: https://docs.gitlab.com/ee/ci/review_apps/

[30] Google Container Engine (GKE): https://cloud.google.com/container-engine/

[31] Auto DevOps: https://docs.gitlab.com/ee/topics/autodevops/

[32] Документация по упрощению создания кластеров Kubernetes на GKE (бета-версия): https://docs.gitlab.com/ee/user/project/clusters/index.html

[33] Документация по онлайн-отображению артефактов HTML: https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html#browsing-job-artifacts

[34] была добавлена: https://about.gitlab.com/2017/08/22/gitlab-9-5-released/#gpg-commit-verification

[35] Документация по подписи коммитов подключами GPG: https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/index.html

[36] проекта: https://docs.gitlab.com/ee/user/project/#project-39-s-features

[37] добавленные в GitLab 9.5: https://about.gitlab.com/2017/08/22/gitlab-9-5-released/#project-templates

[38] Документация по улучшениям страницы создания нового проекта: https://docs.gitlab.com/ce/gitlab-basics/create-project.html

[39] Документация по управлению майлстоунами с уровнем доступа разработчика: https://docs.gitlab.com/ee/user/permissions.html

[40] сообществе по локализации: https://docs.gitlab.com/ce/development/i18n/index.html

[41] добавлен в GitLab 9.3: https://about.gitlab.com/2017/06/22/gitlab-9-3-released/#centralized-audit-log

[42] Документация по улучшениям лога пользовательских дейтсвий: https://docs.gitlab.com/ee/administration/audit_events.html#audit-log-admin-only

[43] полу-линейной истории (semi-linear history): https://docs.gitlab.com/ee/user/project/merge_requests/#semi-linear-history-merge-requests

[44] fast-forward мерж-реквестов: https://docs.gitlab.com/ee/user/project/merge_requests/#fast-forward-merge-requests

[45] Документация по именам пользователей GitLab в уведомлениях в Slack: https://docs.gitlab.com/ee/user/project/integrations/slack.html

[46] Документация о ключевых словах для автоматического закрытия задач: https://docs.gitlab.com/ee/user/project/issues/automatic_issue_closing.html#default-closing-pattern-value

[47] Документация по повторному подтверждению электронной почты: https://docs.gitlab.com/ee/security/user_email_confirmation.html

[48] добавлены роли: https://docs.gitlab.com/omnibus/roles/

[49] Документация по улучшениям Omnibus: https://docs.gitlab.com/omnibus/

[50] #3453: https://gitlab.com/gitlab-org/gitlab-ee/issues/3453

[51] #3259: https://gitlab.com/gitlab-org/gitlab-ee/issues/3259

[52] #3118: https://gitlab.com/gitlab-org/gitlab-ee/issues/3118

[53] #3644: https://gitlab.com/gitlab-org/gitlab-ee/issues/3644

[54] вложения будут синхронизованы повторно: https://docs.gitlab.com/ee/gitlab-geo/updating_the_geo_nodes.html#upgrading-to-gitlab-10-0

[55] полный список изменений: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&label_name%5B%5D=Geo&milestone_title=10.1

[56] Документация по GitLab Geo: https://docs.gitlab.com/ee/gitlab-geo/

[57] Все улучшениям производительности здесь: https://gitlab.com/groups/gitlab-org/issues?scope=all&utf8=%E2%9C%93&state=closed&label_name%5B%5D=performance&milestone_title=10.1

[58] мерж-реквест: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/660

[59] мерж-реквест: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/698

[60] мерж-реквест: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/687

[61] CHANGELOG для GitLab Runner: https://gitlab.com/gitlab-org/gitlab-runner/blob/v10.1.0/CHANGELOG.md

[62] Документация по GitLab Runner 10.1: https://docs.gitlab.com/runner

[63] GitLab 10.1 Released with Image Discussions and Rejection of Unsigned Commits: https://about.gitlab.com/2017/10/22/gitlab-10-1-released/

[64] http://nadmosq.ru: http://nadmosq.ru

[65] rishavant: https://habrahabr.ru/users/rishavant/

[66] sgnl_05: https://habrahabr.ru/users/sgnl_05/

[67] nick_volynkin: https://habrahabr.ru/users/nick_volynkin/

[68] Источник: https://habrahabr.ru/post/341458/