Subversion Repository 구성

Clunix Wiki
(버전 사이의 차이)
1번째 줄: 1번째 줄:
== Subversion Repository 설정 ==
+
연구소에서 개발하는 제품/프로젝트 별로 Subversion Repository(저장소)를 생성한다.
  
연구소에서 진행되는 개별 프로젝트 별로 Subversion Repository(저장소)를 생성하는 과정을 클루닉스 개발 환경에 맞추어 설명한다.
+
연구소의 공식 Subversion 저장소는 repo(192.168.12.10)
 +
<tt>/home/cvs/repos</tt> 디렉토리 하위에 프로젝트별 저장소 디렉토리가 존재한다.
  
=== Repository 관리 권한 ===
+
* [[연구소 Subversion Repository 목록]]
Repository를 새로 생성하거나 삭제하는 작업은 관리자 권한을 부여받은 사용자만이 가능하다. 현재 Subversion 저장소는 repo(192.168.12.10)의
+
<tt>/home/cvs/repos</tt> 디렉토리 하위에 프로젝트별 저장소 디렉토리가 존재한다. 현재 repo의 root권한을 보유한 사람은 다음과 같으며,
+
저장소 관련 권한이 없는 개발자들은 다음 사람들에게 개별적으로 요청하여야 한다.
+
*cezanne, joon626
+
  
=== Repository 목록 ===
+
repo시스템의 cvs 사용자(관리자만 접근 가능)만이 새로운 저장소를 생성하거나 삭제할 있으며,
[[DevSVNRepoList | 연구소 SVN Repository 목록]]
+
일반사용자들은 repo 시스템에 사용자 계정을 생성하여 원격으로 저장소에 접근하여야 한다.
 
+
=== Repository 생성 절차 ===
+
연구소의 모든 개발 Subversion Repository는 repo:/home/cvs/repos상에 생성한다.
+
 
+
Repository명은 프로젝트를 잘 표시할 있는 디렉토리 이름으로 생성한다.
+
 
+
<tt>test</tt>라는 Repository를 생성하는 경우, 다음과 같은 절차에 따른다. 이 때 사용자는 cvs로 생성하여 repository의 사용자와 그룹이 모두 cvs로 설정되도록 한다.
+
# <tt>svnadmin create /home/cvs/repos/test</tt>
+
# <tt>chmod -R g+w test</tt>
+
# <tt>svnserve.conf</tt> 설정 수정
+
 
+
ssh를 통하여 원격으로 repository를 접근하므로 <tt>/usr/bin/svnserve</tt>의 group은 cvs로 하여 setgid가 설정되어 있어야 하며,
+
repository에 대하여 group에 write 권한을 부여하여야 한다.
+
 
+
svn 1.6이상에서는 그룹에 write권한을 주지 않아도 무방하지만, <tt>db/rep-cache.db</tt>는 그룹 권한이 주어지지 않는 듯 하다. 직접 해당 파일에 대하여 write권한 부여 필요함
+
 
+
subversion에 대한 설정은 <tt>test/conf/svnserve.conf</tt>을 reposotory 설정에 맞게
+
수정하면 된다. 일반적으로 아래와 같은 내용으로 구성된다.
+
 
+
[general]
+
anon-access = none
+
auth-access = write
+
authz-db = /home/cvs/repos/authz
+
realm = Description of this repository
+
 
+
repo의 모든 repository들은 각 사용자에 대한 권한을 <tt>/home/cvs/repos/authz</tt> 파일을 사용하는 것을 권장한다.
+

2012년 12월 21일 (금) 10:23 판

연구소에서 개발하는 제품/프로젝트 별로 Subversion Repository(저장소)를 생성한다.

연구소의 공식 Subversion 저장소는 repo(192.168.12.10)의 /home/cvs/repos 디렉토리 하위에 프로젝트별 저장소 디렉토리가 존재한다.

repo시스템의 cvs 사용자(관리자만 접근 가능)만이 새로운 저장소를 생성하거나 삭제할 수 있으며, 일반사용자들은 repo 시스템에 사용자 계정을 생성하여 원격으로 저장소에 접근하여야 한다.

부서별 위키