Состоялся релиз платформы для организации совместной работы с Git-репозиториями GitLab 8.3, которая по своим возможностям напоминает GitHub, но не привязана к конкретному сервису, распространяется в исходных текстах под свободной лицензией и позволяет развернуть web-сервис управления проектом на своём подконтрольном сервере. Код проекта написан на языке Ruby с использованием фреймворка Ruby on Rails и распространяется под свободной лицензией Expat (вариант лицензии MIT). Для хранения данных в GitLab поддерживается связка Redis с MySQL или PostgreSQL.
GitLab наиболее востребован для организации командной разработки в корпоративных проектах, так как позволяет без привязки к облачному вендору развернуть инструментарий, похожий на Github Enterprise и Gitorious. Web-интерфейс GitLab во многом напоминает GitHub, но, тем не менее, не копирует его, а лишь повторяет наиболее удачные принципы. GitLab поддерживает создание отдельных проектов, отслеживание ошибок, обработку запросов на добавление кода (рабочий процесс основан на обработке merge-запросов), навигацию по веткам и тегам, контроль за изменениями, рецензирование кода, многоуровневое управление доступом, Wiki, обмен небольшими кусками кода, наглядный анализ различий между версиями кода, средства визуализации ветвления репозитория и многое другое.
Наиболее важные улучшения GitLab 8.3:
- Поддержка автоматического слияния рецензированного запроса на изменение после его успешной сборки в системе непрерывной интеграции;
- Возможность показа в сообщениях о проблемах списка связанных запросов на слияние;
- Возможность быстрого создания нового запроса на слияние в web-редакторе кода (например, внесение мелких правок) и его продвижения в master-ветку;
- Добавлена вкладка Builds для оценки результатов сборок в системе непрерывной интеграции, инициированных флагом проверки пересборкой запроса на изменение;
- Возможность автоматической генерации коротких внутренних ссылок при публикации URL. Например, ссылка "https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1991" будет представлена как "gitlab-org/gitlab-ce!1991";
- В общедоступный выпуск GitLab добавлены средства для интеграции с JIRA, которые ранее были доступны только пользователям коммерческой версии. Из GitLab теперь можно закрывать тикеты в JIRA и ссылаться на них, а также связывать тикеты в JIRA с сообщениями, пользователями, коммитами или запросами на слияние в GitLab;
- Все специфичные настройки HTTP-сервера перенесены в компонент gitlab-workhorse, который теперь используется как прокси для обработки всех запросов, что позволяет продвигать новшества без необходимости ручной правки конфигурации nginx. Кроме того упрощается настройка при использовании различных http-серверов, таких как Apache и HAproxy;
- Для пользователей коммерческой редакции Gitlab EE добавлена система анализа вклада участников, представлена поддержка расстановки весов для определения приоритета сообщений (issue) и реализован механизм GitLab Pages, позволяющий разместить сайт со статической начинкой, содержимое которого сопровождается как обычный проект в GitLab.
Дополнительно можно отметить публикацию в 35 выпуске
подкаста SDCast интервью (mp3 41 MB, ogg 44 MB) с Дмитрием Запорожцем, одним из авторов проекта GitLab, а так же техническим директором одноименной компании. Дмитрий рассказал историю зарождения проекта, когда и как все начиналось, и как проект, написанный за несколько вечеров добился такой популярности, превратившись в целую компанию.
|