Установка SCM-Manager
Суть такова, что мы в нашей конторе не можем размещать свои проекты на GitHub, Bitbucket или любом другом сервере в интернете. Разработчики сидят во внутренней сети и доступ в интернет отсутствует. Но центральный репозиторий необходим, и для этого отлично подходит SCM-Manager (или SCM-Server, как он там называется).
Сайт проекта: https://www.scm-manager.org/, и также проект есть на Bitbucket. Вообще, вся информация есть в документации, но я решил написать и свою инструкцию.
Загрузить приложение можно здесь. Я взял .zip
вариант.
Установка простая - надо распаковать архив туда, где приложение будет лежать и работать, например по пути D:\scm-server\
.
Далее по желанию можно задать порт, на котором будет работать сервер. По умолчанию 8080
, но я захотел изменить на 8888
. Для этого надо в файле D:\scm-server\conf\server-config.xml
изменить значение:
<Set name="port">
<SystemProperty name="jetty.port" default="8888" />
</Set>
Затем нужно установить сервер как службу. Для этого открыть cmd.exe
, пройти по пути D:\scm-server\bin\
и выполнить команду scm-server install
:
Эта команда установит новую службу, которая и будет являться сервером. И да, если у вас x64
, то JRE (а сервер написан на Java) тоже должна стоять x64
, иначе сервер не стартует.
Для запуска надо открыть Службы (Пуск -> Выполнить -> services.msc
). Найти в списке scm-server, в свойствах задать автоматический запуск и стартовать службу:
После старта автоматически создадутся всякие папки и файлы по пути системной учётной записи, примерно тут: C:\Windows\system32\config\systemprofile\.scm
. Я, например, хочу хранить всё это в другом месте (в D:\scm\
), и чтобы это сделать, надо надо остановить службу и пойти внести изменения в ещё один конфиг, у меня это D:\scm-server\work\webapp\WEB-INF\classes\scm.properties
:
# path to the SCM-Manager base directory
scm.home = D:\\scm\\
После этого файлы из C:\Windows\system32\config\systemprofile\.scm
можно удалить, ну или переместить в новое только что указанное место.
Всё, теперь сервис можно стартовать и заходить проверять: http://localhost:8888 (по умолчанию логин и пароль scmadmin/scmadmin
). Само собой, вместо localhost
у вас должно быть сетевое имя или IP-адрес сервера.
Ну и вот так это выглядит:
На скриншоте можно видеть тестовый репозиторий, который я создал. И кстати, нашёл одну фигню, которой не замечал раньше - если при создании репозитория указать e-mail вида 1@1.net, то будет ошибка. Я уж было подумал, что накосячил с путями в конфигах, но нет, с почтой test@mail.net репозиторий создался нормально.
Ссылку на созданный серверный репозиторий теперь можно добавить в локальные на компьютерах разработчиков. Например, через GitExtensions:
Social networks
Zuck: Just ask
Zuck: I have over 4,000 emails, pictures, addresses, SNS
smb: What? How'd you manage that one?
Zuck: People just submitted it.
Zuck: I don't know why.
Zuck: They "trust me"
Zuck: Dumb fucks