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


????????! (Доброе утро!) В этот раз мы приветствуем вас из греческого города Гераклиона.


С самого начала работы над 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. В этот релиз вошло множество улучшений, в том числе ускорение загрузки мерж-реквестов и других страниц.


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


GitLab MVP badge


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


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


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


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


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


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


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


Image discussions


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

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


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


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


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


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


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


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


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


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


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

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


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


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


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


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


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


Улучшения 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 в высокодоступных установках, добавлены роли.
  • Mattermost по-прежнему 4.2.0.

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


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


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


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

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


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


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


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


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


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


GitLab Runner 10.1 (CE, EES, EEP)


Также с этим релизом мы выпускаем 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.

Комментарии (21)


  1. psikus
    01.11.2017 18:56

    Эххх, и опять нету поддержки cp1251…


    1. nick_volynkin Автор
      01.11.2017 18:58

      Вижу, вы ещё год назад писали про cp1251. Тикет по-прежнему на месте: https://gitlab.com/gitlab-org/gitlab-ce/issues/14048, я плюсанул, призываю остальных это сделать.


      1. psikus
        01.11.2017 19:02

        Да, я все же надеюсь что нас услышат и добавят поддержку кодировки в гитлаб… Есть даже группа, которая выпускает заплатки к гитлабу с этим фиксом, но хотелось бы "нативную" поддержку, чтоб в будущем не было проблем


        1. xRay
          01.11.2017 21:56

          А можно ссылку на эту группу? Сравню фикс.
          Тоже жду когда уже родят поддержку cp1251 вместе со всеми тут gitlab.com/gitlab-org/gitlab-ce/issues/14048


          1. psikus
            02.11.2017 06:52

            Эммм… я как раз про вашу группу разработки и говорил ;-)


          1. blackst0ne
            02.11.2017 07:25

            PMы GitLab маловероятно поставят этот баг в deliverable/stretch по следующим причинам:


            1. cp1251 редко используется, если сравнивать с utf8. То есть затрагивает малое количество пользователей (другие баги более приоритетные в этом плане).
            2. Сам баг зарыт не в GitLab, а в апстриме (даже не в charlock_holmes, а как минимум в icu).
            3. Нет жалоб от клиентов GitLab EE*.

            Что можно сделать:


            1. Добавить костылей в charlock_holmes / GitLab для обнаружения cp1251.
            2. Попинать разработчиков icu в их трекере/списке рассылки. Я не смотрел, может быть уже кто-то поднял эту проблему.

            Но в любом случае, этим вопросом лучше заняться самим, если проблема сильно надоела. Кстати, прекрасный повод законтрибьютить что-нибудь в GitLab. =)


        1. ashumkin
          02.11.2017 23:46

          присоединяюсь к просьбе xRay
          а, уже ответили (не обновил комменты за сутки )


  1. sayber
    01.11.2017 20:04

    ?????????, ????????? за обновление.
    Будем пробывать.


  1. Sleuthhound
    02.11.2017 08:12

    Когда появится русская локализация? Вижу что статус перевода 96% и?


    1. blackst0ne
      02.11.2017 09:31

      Русская локализация чего? UI?


      1. Sleuthhound
        02.11.2017 11:11

        Да, UI


        1. blackst0ne
          03.11.2017 06:00

          Там нужно больше голосов за перевод.
          На translate.gitlab.com русскоязычных человека 2-3 всего заходят.
          Приходите, голосуйте за переводы. :)


          1. Sleuthhound
            03.11.2017 08:02

            Чтобы разработчики добавили русский язык нужно сколько то голосов набрать? По моему это бред. В том же Mattermost год назад не было русского перевода, я немного внес свой вклад и в результате совместной работы русский язык там появился. Перевод Mattermost на русский язык конечно не полный и я периодически участвую в переводе, но факт неполного перевода не помешал добавить его в рабочую версию.


            1. nick_volynkin Автор
              03.11.2017 09:28

              del


          1. alexey-lustin
            03.11.2017 13:25

            Ну прям таки 2-3 человека. 50 человек участвовали и продолжают участвовать в переводе.


            Сегодня завершили апрув к 7-му числу когда произойдет code-freaze


            Холивары устраиваются тут https://gitter.im/gitlab-russian/public


        1. alexey-lustin
          03.11.2017 13:32

          Смотрите — статус локализации сейчас следующий


          Есть мега обсуждение — где Gitlab'овцы ведут статус "Какие строки они пробросили в возможность локализации" https://gitlab.com/gitlab-org/gitlab-ce/issues/4012


          Как только строки "проброшены" — команды переводчиков начинают веселится http://translate.gitlab.com/project/gitlab-ee, за звание лучших борются сейчас "Украинцы, Русские, Бразильцы и Немцы", хотя французская команда переводчиков тоже не отстает. Кстати китайская команда вообще фееричны — но по скорости уступают.


          К 7-му числу каждого месяца происходит заморозка кодовой базы, включая локализацию. Все что будет локализовано и утверждено — попадет в очередной релиз 22 числа GitLab.


          Сейчас все строки которые были даны — 100% подготовлены в релиз http://translate.gitlab.com/project/gitlab-ee/ru


          НО — вы должны понимать, это реально мегафича, там еще только процентов 25% выведено в исходники crowdin.


          1. Sleuthhound
            03.11.2017 13:56

            Алексей, спасибо за информацию, буду участвовать в переводе GitLab по мере возможности.


            1. alexey-lustin
              03.11.2017 14:01

              Только у меня просьба — не холиварить публично в части Issue и Pipeline. Мы просто в сообществе этот холивар уже пережили летом в SonarQube-RU и Jenkins-RU. Путем длительного голосования и обсуждения победили "Обсуждение" и "Сборочная линия". Были даже отдельные личности которые хотели перевести репозиторий как "хранилище" — но слава богу остался репозиторий, потому что хранлище у GitLab = файловое хранилище распределённой по шардам в Enterprise версии.


              P.S. Тут в ноябре будет митап в Москве по Jenkins https://www.meetup.com/Moscow-Jenkins-Meetup/ — мы с Никитой планируем быть там с докладом по DevOps, заодно можем рассказать как этот холивар выглядел.


              1. fishca
                03.11.2017 14:12

                Спасибо за то что взялись за это нелегкое дело тянуть воз перевода. За паровозом и вагоны подтянутся :)


              1. nick_volynkin Автор
                03.11.2017 14:38

                Алексей, это я там холиварю )


                Причина такая: у нас тут уже 24 поста про GitLab, это фактически русскоязычная документация. В ней есть устоявшиеся термины, они были выбраны не случайным образом. Пользователи читают эти посты и к терминам давно привыкли.


                В строках UI на translate.gitlab.com многие термины отличаются. Это будет запутывать пользователей. Мы, конечно, прокосячились, что не подключились к переводу с самого начала. Давайте хотя бы на этом этапе опомнимся и разработаем единый глоссарий и стайлгайд.


                Я там заявку кинул на редактора, подключайтесь. https://gitlab.com/gitlab-org/gitlab-ce/issues/39770


                1. alexey-lustin
                  03.11.2017 16:53

                  Я не согласен принципиально с концепцией "устоявшиеся термины", пока ни один из терминов не устоялся — холивары в Jenkins, GOGS/Giteya это показывают. НО в одном я полностью согласен — пока еще в переводе 25% нужно поработать над глоссарием еще.