Для себя я выбрал SCM-Manager — бесплатный, кроссплаформенный, простой в установке и настройке, поддерживает Git, Mercurial and Subversion, есть множество полезных плагинов, поддерживается интеграция с Active Directory.
Установка
Переходим на официальный сайт и скачиваем zip-архив SCM-Manager.
Устанавливаем Java.
Поднимаем сервер на базе Windows Server 2012 R2 или любой другой.
Распаковываем в нужную папку архив с сервером SCM-Manager, например, в c:\scm-server.
Сразу же запускаем службу через батник scm-server.bat в папке c:\scm-server\bin\
Этот батник можно добавить в автозагрузку.
В папке открываем README и видим адрес сервера, а также дефолтные логин и пароль.
Переходим в браузере по адресу, логинимся и сразу же меняем дефолтный пароль на свой в меня слева (Security — Change Password).
Установка плагинов
Переходим в Меню в Config – Plugins и устанавливаем необходимые плагины.
- Scm-auth-ldap-plugin – для интеграции с LDAP
- Scm-mail-plugin – для почты
- Scm-activity-plugin – показываем последние изменения в репозиториях
- Scm-notify-plugin – плагин для автоматиеских уведомлений через почту
После установки плагинов перезагружаем службу сервера.
Настройка интеграции с Active Directory
Переходим в Меню Config – General – LDAP Authentication. Если данного пункта в меню General не оказалось – просто обновите страницу в браузере.
Profile: Active Directory
Base DN: путь к OU с пользователями
Connection DN: создаем пользователя scmuser для чтения AD, делаем для него срок действия пароля неограниченным.
Connection Password: пароль scmuser
Host URL: ip-адрес контроллера домена. Порт: 389.
Не забываем включить плагин, поставив галочку напротив Enabled.
Нажимаем Save, тестируем соединение кнопкой Test Connection.
Если все прошло удачно, любой доменный пользователь сможет авторизоваться на сервере.
Настройка доступа к репозиториям
Как только пользователь авторизуется один раз, администратор сможет предоставить ему доступ к репозиторию.
Для создания репозитория переходим в Меню Main – Repositories.
Нажимаем кнопку Add и внизу экрана заполняем поля.
Тип репозитория указываем тот, который предпочитаем.
Нажимаем кнопку ОК. Репозиторий создан. В дальнейшем он будет доступен по ссылке, указанной в первой вкладке.
http://gitsrv:8080/scm/git/Test
На вкладке Permission предоставляем доступ пользователям (Read, Write, Owner) или группам (галочка Is Group).
На вкладке Notification можно настроить почтовые push-уведомления.
Нажав кнопку Add, добавляем адрес, на который будут приходить уведомления. Сохраняем изменения, нажав ОК.
Настройка почты
Переходим в Меню Config – General – Mail Configuration.
Host: адрес почтового сервера
Username: созданная нами учетная запись scmuser
Password: пароль от учетной записи scmuser
From: почтовый ящик, от которого будут приходить письма
Тестируем наши настройки кнопкой test Configuration.
Настройка конфигурации сервера окончена, сервис готов к использованию!