기존에 사용하던 svn을 대체하려고 git / mercurial 서버 구성을 하면서 가장 큰 장벽은 서버 구성의 어려움이었다. git / mercurial의 서버 구성을 위해 ssh 키를 등록해야 한다던가, 웹서버 및 DB 설정 해야 하는 과정이 일반 개발자들에게는 매우 고통스럽기 때문이다. git / mercurial의 서버 구성을 위해 이리저리 자료를 찾던 중 나의 요구사항에 맞는 제품을 발견한다.
[나의 개인적인 요구사항]
- SCM 서버 구축이 쉬워야 함.
- Repository 및 사용자 관리가 쉬워야 함.
- 사용자 관리는 LDAP과 연동되어야 함.
- Windows와 Linux OS를 지원해야 함.
- Web 인터페이스면 더 좋음.
SCM-Manager 가 그 주인공이다. google. 등을 찾아봤는데, 아직 많이 안쓰이는지 자료는 많지 않다. SCM-Manager의 특징을 알아보자.
- Very easy installation
- No need to hack configuration files, SCM-Manager is completely configureable from its Web-Interface
- No Apache and no database installation is required
- Central user, group and permission management
- Out of the box support for Git, Mercurial and Subversion
- Full RESTFul Web Service API (JSON and XML)
- Rich User Interface
- Simple Plugin API
- Useful plugins available (f.e. Ldap-, ActiveDirectory-, PAM-Authentication)
- Licensed under the BSD-License
@_@ 딱 내가 찾던.. 무려 SCM-Manager 하나로, svn / git / mercurial 의 원격 저장소를 관리할 수 있다!
설치를 한 번 해보도록 한다. 설치는 Ubuntu Linux 환경에서 하였다. 사실 윈도우에서도 bat 파일을 실행하기만 하면 된다.
(Java가 반드시 설치가 되어 있어야 한다. 없다면, openjdk-7-jdk 패키지를 설치한다.
sudo apt-get install openjdk-7-jdk)
1. SCM-Server 최신 버전 중 Standalone를 다운로드 한다.
2. 적당한 곳에 압축을 푼다.
- tar zxvf scm-server-1.35-app.tar.gz
3. SCM-Manager를 실행한다.
- ./bin/scm-server
아래의 화면처럼 8080 포트에서 기다리고 있으면, 설치 및 실행이 완료된 것이다. 쉽다!
서버가 설치된 곳에 접근한다. http://localhost:8080