В GitLab 10.7 открыт код Web IDE
Состоялся новый выпуск платформы для организации совместной работы с Git-репозиториями GitLab 10.7, которая по своим возможностям напоминает GitHub, но не привязана к конкретному сервису, распространяется в исходных текстах под свободной лицензией и позволяет развернуть web-сервис управления проектом на своём подконтрольном сервере. GitLab поддерживает создание отдельных проектов, отслеживание ошибок, обработку запросов на добавление кода (рабочий процесс основан на обработке merge-запросов), навигацию по веткам и тегам, контроль за изменениями, рецензирование кода, многоуровневое управление доступом, Wiki, обмен небольшими кусками кода, наглядный анализ различий между версиями кода, средства визуализации ветвления репозитория и многое другое. Код проекта написан на языке Ruby с использованием фреймворка Ruby on Rails и распространяется под свободной лицензией Expat (вариант лицензии MIT).
Новый выпуск интересен открытием исходных текстов Web IDE, встроенного редактора кода, позволяющего редактировать исходные тексты и вносить свои изменения не покидая интерфейс GitLab в web-браузере. Редактор снижает порог подключения к разработке (не требуется знание Git), существенно упрощает внесение мелких правок и делает более удобным проведение рецензирования кода. Web IDE даёт возможность редактировать сразу несколько файлов, позволяет совершать коммиты и рецензировать поступившие запросы на слияние (merge request) без промежуточного включения изменений и локального переключения ветвей.
Среди других новшеств GitLab 10.7:
- Возможность генерации отдельных токенов (Deploy Tokens) для доступа внешних приложений к репозиторию или реестру образов Docker-контейнеров (GitLab Container Registry). Токеты обеспечивают доступ только в режиме чтения, действуют только для указанного проекта, могут быть отозваны в любое время или ограничены временем жизни. Ранее для решения подобной задачи требовалось применение персональных токенов (Personal Access Tokens, PAT), которые привязаны к учётной записи конкретного пользователя и отражают его права доступа;
- В настройки GitLab CI/CD добавлена поддержка расширенного синтаксиса условных выражений, позволяющих определить условия запуска определённой работы. В условных блоках 'only' и 'except' теперь допускается использование переменных окружения. Например, можно настроить выполнение работы только если переменная GITLAB_USER_NAME соответствует заданному пользователю;
- Возможность назначения меток групп для сообщений о проблемах (issues) и запросов на слияние, охватывая любые уровни подгрупп. В списках проблем и запросов на слияние возможна фильтрация отдельных объектов по данным меткам;
- В интерфейсе просмотра сообщений о проблемах в привязке к группам (Group Issue Board) добавлена возможность отображения записей не только напрямую связанных с заданной группой, но и записей, которые связаны с подгруппами;
- Индикаторы (badges) теперь могут отображаться на основной странице непосредственно после описания проекта и могут указываться в шаблонах на уровне групп;
- Для пользователей, которым необходимо поддержания своего ответвления от GitLab, которое достаточно проблематично сопровождать и поддерживать в актуальном виде, предложена возможность создания плагинов, позволяющих подключать собственные скрипты-обработчики для расширения или изменения функциональности GitLab.
- Поддержка аутентификации пользователей в GitLab с использованием JSON Web Token (JWT) OmniAuth;
- Возможность передачи содержимого LFS (Git Large File Storage) при экспорте проектов;
- Добавлено отображение информации о причинах сбоя сборки CI/CD при наведении мыши на индикатор со статусом выполнения работы;
- Реализована настройка для определения максимального времени выполнения работ в GitLab Runner, охватывающая все выполняемые работы и более приоритетная, чем настройки таймаутов конкретных проектов (позволяет бороться с ресурсоёмкими проектами, выставляющими слишком большой таймаут, мешающих сборке других проектов);
- Улучшен процесс восстановления из резервных копий. Добавлена возможность восстановления изменённых путей (например, если реестр хранится как /var/mypath/gitlab/registry);
- На странице мониторинга показана суммарная статистика, отражающая на графиках средние и пиковые показатели на шкале времени. Например, сейчас можно сразу оценить изменения среднего времени обработки запроса, нагрузку на CPU и расход памяти за последние несколько часов;
- Включено автоматическое перенаправление запросов на HTTPS при обращении по HTTP;
- Добавлено автоматическое обновление сертификатов Let’s Encrypt для HTTPS;
- Добавлены пакеты для Ubuntu 18.04.
© OpenNet