Представлен (https://about.gitlab.com/2015/11/22/gitlab-8-2-released/) релиз платформы для организации совместной работы с Git-репозиториями GitLab 8.2 (http://www.gitlab.com), которая по своим возможностям напоминает GitHub, но не привязана к конкретному сервису, распространяется в исходных текстах под свободной лицензией и позволяет развернуть web-сервис управления проектом на своём подконтрольном сервере. Код проекта написан на языке Ruby с использованием фреймворка Ruby on Rails и распространяется (https://gitlab.com/groups/gitlab-org) под свободной лицензией Expat (вариант лицензии MIT). Для хранения данных в GitLab поддерживается связка Redis с MySQL или PostgreSQL.GitLab наиболее востребован для организации командной разработки в корпоративных проектах, так как позволяет без привязки к облачному вендору развернуть инструментарий, похожий на Github Enterprise и Gitorious. Web-интерфейс GitLab во многом напоминает (http://demo.gitlabhq.com/) GitHub, но, тем не менее, не копирует его, а лишь повторяет наиболее удачные принципы. GitLab поддерживает (http://blog.gitlab.com/about-the-gitlab-project/) создание отдельных проектов, отслеживание ошибок, обработку запросов на добавление кода (рабочий процесс основан на обработке merge-запросов), навигацию по веткам и тегам, контроль за изменениями, рецензирование кода, многоуровневое управление доступом, Wiki, обмен небольшими кусками кода, наглядный анализ различий между версиями кода, средства визуализации ветвления репозитория и многое другое.
Наиболее важные улучшения GitLab 8.2:
- Поддержка системы хранения Git LFS (https://git-lfs.github.com/) (Git Large File Storage), развиваемой GitHub и позволяющей (https://www.opennet.me/opennews/art.shtml?num=43072) использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. В штатном Git-репозитории большие файлы заменяются на текстовые ссылки, указывающие на контент в отдельном внешнем репозитории, что позволяет избежать повторного копирования файлов при клонировании и извлечении репозитория. При выполнении операций checkout большие файлы не загружаются вместе с остальными данными, а синхронизируются с сервера и хранятся в единственной копии;
- Возможность использования картинок emoji для наглядного выражения своего отношения к сообщениям о проблемах или запросам на изменение;
<center><a href="https://about.gitlab.com/images/8_2/emoji.png"><img src="https://www.opennet.me/opennews/pics_base/0_1448380746.png&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Возможность быстрого формирования релизов через создание тегов с привязкой произвольного текста (примечания к релизу) и набора файлов (сборки);
<center><a href="https://about.gitlab.com/images/8_2/releases.png">&l... src="https://www.opennet.me/opennews/pics_base/0_1448381028.png&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Поддержка глобальных контрольных точек (Global Milestones), охватывающих сразу несколько проектов в заданной группе и упрощающих отслеживание активности и хода разработки в группах и проектах;
<center><a href="https://about.gitlab.com/images/8_2/global_milestones.png&qu... src="https://www.opennet.me/opennews/pics_base/0_1448381250.png&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Для пользователей коммерческой редакции Gitlab EE представлена поддержка автоматического зеркалирования репозиториев. Зеркала всегда находятся в актуальном состоянии и повторяют начинку основного репозитория, что можно использовать для организации публичного зеркала своего проекта на отдельном сервере.
<center><a href="https://about.gitlab.com/images/8_2/mirroring.png">&... src="https://www.opennet.me/opennews/pics_base/0_1448381455.png&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Поиск теперь охватывает содержимое сообщений, привязанных к коммитам;
<center><a href="https://about.gitlab.com/images/8_2/commit_search.jpg"&... src="https://www.opennet.me/opennews/pics_base/0_1448382019.jpg&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Поддержка сохранения в Git результатов сборки в процессе работы системы непрерывной интеграции.
- Поддержка кэширования результатов сборки зависимостей или произвольных файлов/директорий между сборками в системе непрерывной интеграции;
- В GitLab Runner теперь создаются разные Docker-контейнеры для клонирования репозитория, выполнения сборки и копирования результатов (артефактов).
URL: https://about.gitlab.com/2015/11/23/announcing-git-lfs-suppo.../
Новость: http://www.opennet.me/opennews/art.shtml?num=43385