Лучший контроль исходного кода для университетской среды (низкие затраты на управление репозиториями)
Кто-нибудь знает о решении (размещенном в Интернете или иным образом) для системы управления исходным кодом, которая будет хорошо работать в университетской среде, где информационные технологии находятся в центре внимания? Мы хотели бы предложить его в качестве "службы контроля версий" в масштабах всего кампуса, во многом как в университетах с услугой электронной почты. В частности, я говорю о следующих особенностях:
- Существует большое количество новых репозиториев, созданных / управляемых каждый семестр. Любой курс программирования или исследовательский проект может потребовать от студентов использовать контроль исходного кода в различных средах исходного кода (включая.NET, Java, C++, LaTeX).
- Студенты должны иметь возможность создавать и управлять своими хранилищами. Вовлечение администратора / инструктора / и т. Д. иначе не масштабируется.
- Хранилище хранилища должно быть безопасным (частным) и архивироваться для защиты интеллектуальной собственности (предотвращение плагиата, защита интеллектуальной собственности исследований).
- Любой или все варианты управления исходным кодом (например, CVS/SVN/GIT) будет приемлемым.
- Удаленный доступ к репозиториям имеет важное значение. Студенты / исследователи могут свободно работать либо в специально отведенных для этого местах, либо на расстоянии. Маркировка заданий может быть сделана инструкторами, которые "проверили" код где угодно.
- Если академическая лицензия существует, она должна быть рассчитана на>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. Возможно, можно написать базовое программное обеспечение для автоматизации некоторых шагов. Чтобы сделать его масштабируемым и дешевым, основные этапы остаются в силе. Создайте главный и локальный репозиторий, зашифруйте главный репо, работайте с локальным репо и синхронизируйте изменения с основным, создайте резервную копию зашифрованного главного репо в Интернете или на сервере.