logo

한국어

CVS 서버 구축 및 활용

관리자 2010.04.17 21:37 조회 수 : 10

CVS 서버 구축 및 활용

리눅스에서 CVS 서버를 구축하기 위해서는 xinet or inetd 데몬이
설치되어 있어야 한다.
CVS 포트는 2401/TCP고 cvspserver 라는 이름으로 서비스에 등록
되어 있다. cvs 는 별도의 데몬이 존재하지 않기 때문에 그냥
cvs 프로그램이 데몬 역활과 클라이언트 역활을 병행한다.

------------------------------------------------------------------------------

1. 리눅스 서버에서 CVS 서비스 설치

/etc/xinetd.d/cvspserver를 아래와 같이 편집한다.
--allow-root는 반드시 포함되어야 하며,
프로젝트의 소스 디렉토리를 명시한다.

# default: on
# description: CVS Service
#
service cvspserver
{
        disable         = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/cvs
        server_args     = --allow-root=/home/nfadmin/NongaeBuhwal pserver
        log_on_failure  += USERID
}

xinetd 서비스에서 cvspservrer를 활성화 시킨다.

------------------------------------------------------------------------------

2. 리눅스 서버에서 CVSROOT 환경변수 설정하기

.bash_profile 또는 /etc/profile 에 CVSROOT를 아래와 같이 포함시킨다.
CVSROOT 또한 프로젝트 소스 디렉토리를 명시한다.

CVSROOT=/home/nfadmin/NongaeBuhwal
export CVSROOT

------------------------------------------------------------------------------

3. 윈도우 PC에서 CVS 클라이언트 설치하기

cvsnt를 먼저 설치하고 WinCVS를 설치한다.
반드시 두개가 다 설치되어야 한다.

cvsnt 다운로드 (http://www.march-hare.com/cvspro/)
WinCVS 다운로드 (http://www.wincvs.org/)

------------------------------------------------------------------------------

4. WinCVS에서 로그인하기

Admin -> Login 메뉴를 선택한다.

CVSROOT에 :pserver:nfadmin@192.168.0.101:/home/admin/NongaeBuhwal 를 입력한다.

이것은 pserver 방식을 사용해서 nfadmin이란 아이디로 192.168.0.101이라는
서버에 /home/admin/NongaeBuhwal 디렉토리로 CVS를 연결하라는 의미이다.

암호를 입력하면 연결이 된다.

밑에 콘솔창에 "***** CVS exited normally with code 0 *****" 라고 나오면
정상적으로 로그인 된 것이다.

이 상태에서 뭘 할 수 있는 것은 아니다.
로그인에 성공했으면 모튤을 만들어야 한다.

------------------------------------------------------------------------------

5. 모듈 생성하기(import)

CVS에서 모듈이란 저장소의 의미로 사용되며 보통 서버의 프로젝트 디렉토리를
의미한다.

모듈을 생성한다는 것은 프로젝트에서 CVS 저장소에 파일 또는 디렉토리를
추가한다는 것을 의미한다.

- 파일창에서 import를 원하는 파일을 선택한다.
- Remote -> Import module 메뉴를 선택한다.
- 삽입을 원하는 저장소를 설명을 넣고 "확인"을 클릭한다.

------------------------------------------------------------------------------

6. 주 모듈(Main truck) 가져오기(checkout)

모듈을 가져온다고 해서 내 PC에 모든 파일들이 쌓이는 것이 아니라
서버의 CVSROOT 디렉토리에 정보가 저장된다.

- Remote -> Checkout Module 메뉴를 선택한다.
- "Module name and path on the server" 에 프로젝트 디렉토리의 추가하려는
  서브 디렉토리명을 입력한다.
- "Local folder to checkout to"에 서버에서 복사될 파일들이 저장될 PC의
  디렉토리를 명시한다.
- "확인" 클릭!

------------------------------------------------------------------------------

7. 파생 모듈(Branch) 가져오기(checkout)

파생 모듈(Branch)이란 주 모듈 밑의 하위 모듈을 의미한다.

- Remote -> Checkout Module 메뉴를 선택한다.
- "Module name and path on the server" 에 주 모듈명을 입력한다.
- Check out into directory 에서 하위 디렉토리 또는 파일명을 입력한다.

------------------------------------------------------------------------------

8. 나머지는 다른 도큐먼트를 참조... (http://wiki.kldp.org/wiki.php/WinCVS#s-4.1)