Представлен релиз платформы для организации совместной работы с Git-репозиториями GitLab 8.2, которая по своим возможностям напоминает GitHub, но не привязана к конкретному сервису, распространяется в исходных текстах под свободной лицензией и позволяет развернуть web-сервис управления проектом на своём подконтрольном сервере. Код проекта написан на языке Ruby с использованием фреймворка Ruby on Rails и распространяется под свободной лицензией Expat (вариант лицензии MIT). Для хранения данных в GitLab поддерживается связка Redis с MySQL или PostgreSQL.

GitLab наиболее востребован для организации командной разработки в корпоративных проектах, так как позволяет без привязки к облачному вендору развернуть инструментарий, похожий на Github Enterprise и Gitorious. Web-интерфейс GitLab во многом напоминает GitHub, но, тем не менее, не копирует его, а лишь повторяет наиболее удачные принципы. GitLab поддерживает создание отдельных проектов, отслеживание ошибок, обработку запросов на добавление кода (рабочий процесс основан на обработке merge-запросов), навигацию по веткам и тегам, контроль за изменениями, рецензирование кода, многоуровневое управление доступом, Wiki, обмен небольшими кусками кода, наглядный анализ различий между версиями кода, средства визуализации ветвления репозитория и многое другое.

Наиболее важные улучшения GitLab 8.2:

  • Поддержка системы хранения Git LFS (Git Large File Storage), развиваемой GitHub и позволяющей использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. В штатном Git-репозитории большие файлы заменяются на текстовые ссылки, указывающие на контент в отдельном внешнем репозитории, что позволяет избежать повторного копирования файлов при клонировании и извлечении репозитория. При выполнении операций checkout большие файлы не загружаются вместе с остальными данными, а синхронизируются с сервера и хранятся в единственной копии;
  • Возможность использования картинок emoji для наглядного выражения своего отношения к сообщениям о проблемах или запросам на изменение;
  • Возможность быстрого формирования релизов через создание тегов с привязкой произвольного текста (примечания к релизу) и набора файлов (сборки);
  • Поддержка глобальных контрольных точек (Global Milestones), охватывающих сразу несколько проектов в заданной группе и упрощающих отслеживание активности и хода разработки в группах и проектах;
  • Для пользователей коммерческой редакции Gitlab EE представлена поддержка автоматического зеркалирования репозиториев. Зеркала всегда находятся в актуальном состоянии и повторяют начинку основного репозитория, что можно использовать для организации публичного зеркала своего проекта на отдельном сервере.
  • Поиск теперь охватывает содержимое сообщений, привязанных к коммитам;
  • Поддержка сохранения в Git результатов сборки в процессе работы системы непрерывной интеграции.
  • Поддержка кэширования результатов сборки зависимостей или произвольных файлов/директорий между сборками в системе непрерывной интеграции;
  • В GitLab Runner теперь создаются разные Docker-контейнеры для клонирования репозитория, выполнения сборки и копирования результатов (артефактов).


Источник: http://www.opennet.ru/opennews/art.shtml?num=43385