Существуют ли альтернативы с открытым исходным кодом для Bitbucket, Github, Kiln и аналогичных инструментов просмотра и управления DVCS? [закрыто]

Мне известно несколько инструментов /служб, которые обеспечивают просмотр и управление DVCS, например Bitbucket , Github , Kiln , SCM-Manager и Rhodecode .

Однако рассматриваемый вариант использования таков, что:

  1. Любой исходный код должен находиться на внутренних серверах работодателей.
  2. Решение должно быть открытым.
  3. Он должен предоставить опыт Bitbucket или Github, в том числе вики проекта, просмотр и управление репозиториями, а также аспекты социального кодирования, такие как обзор кода.
  4. Решение должно иметь поддержку со стороны (если не поддержка других DVCS).

Из них только SCM-Manager и RhodeCode закрываются, поскольку они могут быть установлены на ваших собственных серверах и с открытым исходным кодом. Однако у них нет опыта Bitbucket или Github. Нет никакого трекера ошибок или вики, и пользовательский интерфейс, хотя и функциональный, не соответствует требованиям Github или Bitbucket.

Я могу приблизиться к Trac или Redmine с их браузерами репозитория, но, к сожалению, у них нет никаких возможностей управления репозиториями.

Существуют ли другие инструменты с открытым исходным кодом, которые предоставили бы подобный опыт Bitbucket, Github или Kiln?

68 голосов | спросил Ryan Taylor 9 Jam1000000amMon, 09 Jan 2012 06:24:00 +040012 2012, 06:24:00

7 ответов


31

Я бы взглянул на Fossil. это система, в которой разработчики sqlite используют, по-видимому, внутренне. Он также использует sqlite, который является хорошей надежной технологией ... приятной и портативной - а также простой и надежной.

Он имеет хороший пользовательский интерфейс if austere (который, по моему мнению, соответствует характеру ориентированной на производительность цели, такой как вы описываете). ((Не забудьте проверить тему «серый». Это менее «маршрутизатор-админ», чем «тема» по умолчанию, если бы вы могли это назвать.)) Я был привлечен к нему из-за его корней как CGI потому что я - присоска для CGI. Результаты этого наследия на самом деле очень интересны, поскольку эта система имеет очень уникальный режим JSON-ONLY , который имеет всевозможные интересные возможности реализации.

Они упоминают об этом, но стоит повторить, что он имеет 0 зависимостей. Нет php, нет mySQL, нет python. Нада. Это собственный бинарный исполняемый файл - и он работает на многих платформах. Я желаю, чтобы другие проекты «думали» одинаково.

Я не связан с ними, поэтому просто процитирую их открытую страницу extolations , которая, как правило, согласна с ... также взгляните на вопросы и amp; критические замечания ..

  

Отслеживание ошибок и Wiki. Помимо управления распределенной версией, например Git и Mercurial, Fossil также поддерживает распределенное отслеживание ошибок, распределенную вики и механизм распределенного блога в одном интегрированном пакете.

     

Веб-интерфейс - Fossil имеет встроенный и простой в использовании веб-интерфейс, который упрощает отслеживание проектов и способствует ситуационной осведомленности. Просто введите «ископаемый ui» из любой выписки, и Fossil автоматически откроет ваш веб-браузер на странице, которая предоставляет подробную графическую историю и информацию о статусе в этом проекте.

     

Autosync - Fossil поддерживает режим «autosync», который помогает поддерживать продвижение проектов, уменьшая количество ненужных разветвлений и слияний, часто связанных с распределенными проектами.

     

Self-Contained - Fossil - это отдельный автономный исполняемый файл, содержащий все необходимое для управления конфигурацией. Установка тривиальна: просто загрузите предварительно скомпилированный двоичный файл для Linux, Mac или Windows и поместите его на свой PATH. Легко компилируемый исходный код доступен для пользователей на других платформах. Источники ископаемых также в основном автономны, для чего требуется только библиотека «zlib» и стандартная библиотека C.

     

Простая сеть - Fossil использует простой старый HTTP (с поддержкой прокси) для всех сетевых коммуникаций, что означает, что он отлично работает из-за ограничительных брандмауэров. Протокол эффективен с точки зрения пропускной способности до такой степени, что Fossil можно удобно использовать по коммутируемому интернет-соединению.

     

CGI Enabled - сервер не требует использования ископаемого. Но сервер упрощает взаимодействие. Fossil поддерживает три разные, но простые конфигурации серверов. Наиболее популярным является сценарий CGI с двумя строками. Это подход, используемый самоорганизующимися репозиториями ископаемых.

     

Надежный & Надежность. Ископаемое хранилище хранит контент с использованием формата длительного файла в базе данных SQLite, так что транзакции являются атомарными, даже если они прерываются потерей мощности или сбоем системы. Кроме того, автоматическая самопроверка проверяет, что все аспекты репозитория согласованы до каждой фиксации. За более чем три года работы ни одна работа не была потеряна после того, как она была передана в хранилище ископаемых.

Обновление: Вместо того, чтобы ссылаться на интерфейс, сделайте быстрый снимок itâ € | Как вы можете видеть, это определенно просто. Но это также означает чистый список для настройки. единую таблицу стилей и систему шаблонов заголовка /нижнего колонтитула /тела. Лучше написать короткую историю, чемпереписывать чужую книгу, ИМО.

fossil ui

ответил alex gray 15 Jam1000000amSun, 15 Jan 2012 02:03:46 +040012 2012, 02:03:46
16

Gitorious является открытым исходным кодом, и вы можете установить его на свой собственный сервер, используя скрипты, предоставленные редакцией сообщества Gitorious ( см. http://www.getgitorious.com/installer ). Gitorious теперь поддерживает вики и отслеживание проблем. Существует также изображение Docker , доступное для быстрого его запуска.

Другим вариантом будет Gitlab , который в основном является клоном GitHub, а не столь зрелым, как gitorious, но он находится в тяжелом развитии с ежемесячными выпусками.

Вы также можете просмотреть дополнительные параметры здесь

ответил tbg 27 MaramTue, 27 Mar 2012 11:17:55 +04002012-03-27T11:17:55+04:0011 2012, 11:17:55
8

Ваши ограничения довольно специфичны, но я думаю, вы можете получить результаты, которые вы ищете, с помощью ChiliProject + плагинов.

ChiliProject - это вилка Redmine, которая использует обновленные версии Ruby /Rails. Он очень хорошо поддерживает git и mercurial и реплицирует функциональность Github Issues, похоже, что вы ищете, анализируя сообщения фиксации (т. Е. refs 291) в фиксации свяжет фиксацию с выпуском № 291).

Существуют также Redmine /ChiliProject плагины , которые предоставляют такие возможности, как просмотр кода, подсветка синтаксиса и другие тонкости, которые Github и т. д. предоставляют, которые могут быть явно или не доступны в конкурентах с открытым исходным кодом.

Существуют и другие варианты, JIRA и т. д., но они (IMHO) не обеспечивают гибкость или богатство функциональности, которые обеспечивают ChilProject fork Redmine + множество доступных плагинов. Существует не так много, что Github и /или BitBucket делают для вас, что ChiliProject (возможно, с свободно доступными плагинами) не может этого сделать; и красота, если она еще не существует, обычно довольно тривиально реализовать ее самостоятельно.

Если это похоже на больше , чем вам нужно ... Я еще не пробовал, но GitLab также выглядит интересным ... у него, похоже, нет архитектуры расширяемости или плагина Redmine /Chili, но если вы ищете клон с открытым исходным кодом Github с большинством базовых функций (и вы не необходимо поддерживать несколько DVCS), это выглядит довольно хорошо.

ответил Jason Lewis 14 Jpm1000000pmSat, 14 Jan 2012 14:18:49 +040012 2012, 14:18:49
7

Allura http://sf.net/p/allura должен соответствовать счету. Это платформа для всех новых (или обновленных) проектов в SourceForge и является открытым исходным кодом. Он поддерживает Mercurial и wikis, а также множество других инструментов (Git, SVN, отслеживание билетов, форумы и т. Д.). Он не совсем «проверяет код», но поддерживает запросы forking и merge для репозиториев Mercurial и Git.

Он написан на Python и использует MongoDB и Solr для хранения данных.

Allura также находится в инкубаторе Apache: http://incubator.apache.org/projects/allura.html

Я работаю в SourceForge и помогу разработать Allura.

ответил Dave Brondsema 6 PM00000070000005231 2012, 19:28:52
6

Для той же самой проблемы на работе мы используем экосистему, состоящую из:

  • Redmine для отслеживания проблем
  • RhodeCode для управления репозиториями
  • Jenkins для непрерывной интеграции и развертывания (у нас есть рабочие места для задач развертывания и обновления, которые могут быть назначены разрешения грамотно, и вы получаете бесплатный журнал аудита)
  • Active Directory для аутентификации (все вышеперечисленное может легко интегрироваться с ним)

Интеграция DVCS в Redmine улучшилась не по дням, а по более поздним выпускам, я обновил несколько недель назад, и мне очень приятно, что большая часть «gotchas» ушла.

Я запускаю серверы Redmine и RhodeCode на том же хосте, потому что Redmine пока не поддерживает удаленные репозитории HG. Дженкинс работает на нескольких других хостах.

Я использую крюк RhodeCode для запуска меркулярных нажатий в Redmine. Я не могу использовать крючок для вытягивания Дженкинса из-за JENKINS-13717 , но я отправил патч для это уже, и я думаю, это будет принято довольно быстро. Тем временем я просто проверяю репозитории HG каждые несколько минут.

Все работает на Debian 6.0 поверх обратного прокси Nginx, чтобы получить завершение SSL (все это используется только через SSL). Недавно весь пакет был перенесен на кластер ProxMox , чтобы виртуализировать все это с отличными результатами. Если вы не знаете продукт, вы должны взглянуть на него. Это один из тех , я не могу поверить, что это существует, и я не знал об этом, и OMG тоже с открытым исходным кодом! . Мы запускаем эти службы на контейнерах OpenVZ, которые легко переносятся с одного узла на другой для ремонта /модернизации оборудования. В том же кластере мы также запускаем кучу виртуальных машин KVM, а также для автоматического тестирования на платформах Windows.

Я очень доволен этой экосистемой. Это улучшило способность команды разработчиков /разработчиков QA воспроизводить проблемы и отслеживать изменения с огромным отрывом. Всего несколько предупреждений:

  • Если вы идете с Rhodecode, не устанавливайте его на SQLite. Используйте MySQL или другую реальную СУБД. Фактически это не очень мигрирует, и SQLite получает только одно соединение за раз, что приводит к забавным блокировкам и тайм-аутам (см. RhodeCode's # 439 ). Это становится болезненным, если Дженкинс постоянно проводит опрос репо, когда вы получаете сообщения об ошибках раз в то время (см. Комментарий выше по проблеме Дженкинса).
  • Вы действительно не можете достаточно подчеркнуть своих разработчиков, что в Mercurial значение числа «132» ничего не значит для всех остальных в сети, как эти номера являются только локальными . Когда вы говорите о наборах изменений в билетах Redmine, используйте номер локальной версии, который вы можете получить из браузера репо (что одинаково и для RhodeCode, и для Redmine, поскольку они работают на одном компьютере) или используют commit:abcd1234

Я не сомневаюсь в том, что рекомендую эту установку, поскольку я очень доволен ею. Если вам нужна помощь в настройке определенной службы или вы хотите посмотреть мои файлы конфигурации, не стесняйтесь спрашивать.

ответил GomoX 14 Mayam12 2012, 08:51:38
2

Взгляните на cydra: https://github.com/mensi/cydra у него есть поддержка для

  • Subversion (HTTP)
  • Git (HTTP и SSH на отдельном порту)
  • Mercurial (HTTP)
  • Trac

Он работает на основе проекта, который позволяет вам создать проект и назначить ему несколько репозиториев (не более одного репозитория SVN). Auth основан на отдельных плагинах (мы интегрировали его в наш ldap).

Мы используем его для нашей https://code.vis.ethz.ch платформы для кодирования. На данный момент нет поддержки для просмотра кода, но его можно легко добавить в качестве плагина.

Я не могу опубликовать скриншоты, так как у меня недостаточно репутации.

ответил Pascal 5 PM00000070000001431 2012, 19:11:14
2

Рассмотрите возможность использования GitLab https://about.gitlab.com/, поскольку он отвечает большинству ваших требований:

  1. Вы можете установить его на месте
  2. Лицензия MIT распространяется на лицензии
  3. У этого есть wiki (поддерживается git), просмотр репозитория, подробное управление доступом (уровни множественного доступа, защищенные ветви, интеграция ldap и т. д.) и имеет запросы слияния для просмотра и обсуждения кода (включая комментарии к линии)
  4. Он не поддерживает меркурий, но только git

У него также есть хороший трекер или вы можете ссылаться на внешний трекер. Вы можете проверить свои запросы на слияние с помощью GitLab CI, если хотите. GitLab быстро растет и используется более чем 25 000 организаций.

Раскрытие информации: Я генеральный директор & соучредитель GitLab B.V.

ответил Sytse Sijbrandij 24 FebruaryEurope/MoscowbSun, 24 Feb 2013 21:20:20 +0400000000pmSun, 24 Feb 2013 21:20:20 +040013 2013, 21:20:20

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132