Состоялся (https://about.gitlab.com/2018/04/22/gitlab-10-7-released/) новый выпуск платформы для организации совместной работы с Git-репозиториями GitLab 10.7 (http://www.gitlab.com), которая по своим возможностям напоминает GitHub, но не привязана к конкретному сервису, распространяется в исходных текстах под свободной лицензией и позволяет развернуть web-сервис управления проектом на своём подконтрольном сервере. GitLab поддерживает (http://blog.gitlab.com/about-the-gitlab-project/) создание отдельных проектов, отслеживание ошибок, обработку запросов на добавление кода (рабочий процесс основан на обработке merge-запросов), навигацию по веткам и тегам, контроль за изменениями, рецензирование кода, многоуровневое управление доступом, Wiki, обмен небольшими кусками кода, наглядный анализ различий между версиями кода, средства визуализации ветвления репозитория и многое другое. Код проекта написан на языке Ruby с использованием фреймворка Ruby on Rails и распространяется (https://gitlab.com/groups/gitlab-org) под свободной лицензией Expat (вариант лицензии MIT). Новый выпуск интересен открытием исходных текстов Web IDE (https://docs.gitlab.com/ee/user/project/web_ide/), встроенного редактора кода, позволяющего редактировать исходные тексты и вносить свои изменения не покидая интерфейс GitLab в web-браузере. Редактор снижает порог подключения к разработке (не требуется знание Git), существенно упрощает внесение мелких правок и делает более удобным проведение рецензирования кода. Web IDE даёт возможность редактировать сразу несколько файлов, позволяет сразу совершать коммиты и рецензировать поступившие запросы на слияние (merge request) без промежуточного включения изменений и локального переключения ветвей.
Среди других новшеств GitLab 10.7:
- Возможность (https://docs.gitlab.com/ee/user/project/deploy_tokens/) генерации отдельных токенов (Deploy Tokens) для доступа внешних приложений к репозиторию или реестру образов Docker-контейнеров (GitLab Container Registry). Токеты обеспечивают доступ только в режиме чтения, действуют только для указанного проекта, могут быть отозваны в любое время или ограничены временем жизни. Ранее для решения подобной задачи требовалось применение персональных токенов (Personal Access Tokens, PAT), которые привязаны к учётной записи конкретного пользователя и отражают его права доступа;
- В настройки GitLab CI/CD добавлена (https://docs.gitlab.com/ee/ci/variables/#variables-expressions) поддержка расширенного синтаксиса условных выражений, позволяющий определить условиях запуска определённой работы. В условных блоках 'only' и 'except' теперь допускается использование переменных окружения. Например, можно настроить выполнение работы только если переменная GITLAB_USER_NAME соответствует заданному пользователю;
- Возможность (https://docs.gitlab.com/ee/user/project/labels.html) назначения меток групп для сообщений о проблемах (issues) и запросов на слияние, охватывая любые уровни подгрупп. В списках проблем и запросов на слияние возможна фильтрация отдельных объектов по данным меткам;
- В интерфейсе просмотра сообщений о проблемах в привязке к группам (Group Issue Board) добавлена (https://docs.gitlab.com/ee/user/project/issue_board.html) возможность отображения записей не только напрямую связанных с заданной группой, но и записей, которые связаны с подгруппами;
- Индикаторы (badges) теперь могут (https://docs.gitlab.com/ee/user/project/badges.html) отображаться на основной странице непосредственно после описания проекта и могут указываться в шаблонах на уровне групп;
- Для пользователей, которым необходимо поддержания своего ответвления от GitLab, которое достаточно проблематично сопровождать и поддерживать в актуальном виде, предложена (https://docs.gitlab.com/ee/administration/plugins.html) возможность создания плагинов, позволяющих подключать собственные скрипты-обработчики для расширения или изменения функциональности GitLab.
- Поддержка (https://docs.gitlab.com/ee/administration/auth/jwt.html) аутентификации пользователей в GitLab с использованием JSON Web Token (JWT) OmniAuth;
- Возможность передачи содержимого LFS (https://www.opennet.ru/opennews/art.shtml?num=48200) (Git Large File Storage) при экспорте проектов;
- Добавлено отображение информации о причинах сбоя сборки CI/CD при наведении мыши на индикатор со статусом выполнения работы;
- Реализована настройка для определения максимального времени выполнения работ в GitLab Runner, охватывающая все выполняемые работы и более приоритетная, чем настройки таймаутов конкретных проектов (позволяет бороться с ресурсоёмкими проектами, выставляющими слишком большой таймаут, мешающих сборке других проектов);
- Улучшен процесс восстановления из резервных копий. Добавлена возможность восстановления изменённых путей (например, если реестр хранится как /var/mypath/gitlab/registry);
- На странице мониторинга показана суммарная статистика, отражающая на графиках средние и пиковые показатели на шкале времени. Например, сейчас можно сразу оценить изменения среднего времени обработки запроса, нагрузку на CPU и расход памяти за последние несколько часов;
- Включено автоматическое перенаправление запросов на HTTPS при обращении по HTTP;
- Добавлено автоматическое обновление сертификатов Let's Encrypt для HTTPS;
- Добавлены пакеты (https://about.gitlab.com/installation/#ubuntu) для Ubuntu 18.04.
URL: https://about.gitlab.com/2018/04/22/gitlab-10-7-released/
Новость: https://www.opennet.ru/opennews/art.shtml?num=48479