Лучший контроль исходного кода для университетской среды (низкие затраты на управление репозиториями)

Кто-нибудь знает о решении (размещенном в Интернете или иным образом) для системы управления исходным кодом, которая будет хорошо работать в университетской среде, где информационные технологии находятся в центре внимания? Мы хотели бы предложить его в качестве "службы контроля версий" в масштабах всего кампуса, во многом как в университетах с услугой электронной почты. В частности, я говорю о следующих особенностях:

  1. Существует большое количество новых репозиториев, созданных / управляемых каждый семестр. Любой курс программирования или исследовательский проект может потребовать от студентов использовать контроль исходного кода в различных средах исходного кода (включая.NET, Java, C++, LaTeX).
  2. Студенты должны иметь возможность создавать и управлять своими хранилищами. Вовлечение администратора / инструктора / и т. Д. иначе не масштабируется.
  3. Хранилище хранилища должно быть безопасным (частным) и архивироваться для защиты интеллектуальной собственности (предотвращение плагиата, защита интеллектуальной собственности исследований).
  4. Любой или все варианты управления исходным кодом (например, CVS/SVN/GIT) будет приемлемым.
  5. Удаленный доступ к репозиториям имеет важное значение. Студенты / исследователи могут свободно работать либо в специально отведенных для этого местах, либо на расстоянии. Маркировка заданий может быть сделана инструкторами, которые "проверили" код где угодно.
  6. Если академическая лицензия существует, она должна быть рассчитана на>500 студентов.

Многие коммерческие / бесплатные продукты (веб-или иные) не удовлетворяют условиям № 1 и № 2, поскольку требуют, чтобы суперпользователи администрировали учетные записи / репозитории / доступы. Такие решения, как Google Code, sourceforge.net, GitHub и т. Д., Не удовлетворяют условию № 3, поскольку хранилища всегда общедоступны.

5 ответов

Решение

Вот бесплатный: http://gitlabhq.com/ Вы можете добавить репозитории поверх этого инструмента. В целях безопасности вы используете ключи RSA.

И я бы предложил использовать Git. SVN и CVS устарели.

GitHub может удовлетворить ваши требования. Вы можете настроить свой собственный экземпляр в своей интрасети; https://enterprise.github.com/

  • Redmine (SVN, CVS, Git, Mercurial, Bazaar и Darcs)
  • UberSVN (SVN)
  • Частная Ассембла (?) (SVN, Git, Mercurial)

Вы можете использовать git в хранилище личных файлов студентов, если у них есть такая вещь, git не требует хостинга, кроме места для хранения файлов.

Одним из решений, которое я использую, является создание главного GIT-репозитория в зашифрованном контейнере Truecrypt переменного размера. Контейнер помещается в папку Dropbox. Репозиторий клонируется на локальный жесткий диск, который становится рабочим каталогом. Вся работа выполнена и проверена в локальном хранилище. Я написал сценарии, которые монтируют зашифрованный контейнер, помещают / извлекают локальное репо в главное репо и демонтируют зашифрованный контейнер. Dropbox обнаруживает изменения в зашифрованном контейнере и синхронизирует их с сервером Dropbox. Безопасность поддерживается, так как зашифрованный файл - это единственное, что отправляется на сервер. Единственный реальный способ обеспечения безопасности - это шифрование самостоятельно.

Все, что вам нужно для настройки - это несколько скриптов, установленный truecrypt и учетная запись Dropbox. Возможно, можно написать базовое программное обеспечение для автоматизации некоторых шагов. Чтобы сделать его масштабируемым и дешевым, основные этапы остаются в силе. Создайте главный и локальный репозиторий, зашифруйте главный репо, работайте с локальным репо и синхронизируйте изменения с основным, создайте резервную копию зашифрованного главного репо в Интернете или на сервере.

Другие вопросы по тегам