ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Subversion-소스코드 관리 환경 구축
    2010. 9. 19. comments

      소스코드 관리 툴인 Subversion을 설치한다.


     설치 환경 : Ubuntu-Server 10.4


    [설치 과정]

    • apt-get install 명령어를 통한 subversion 설치
      • 다음 명령어를 통하여 간단하게 설치를 할 수 있다
    morenice@ubuntu:~$  sudo apt-get install subversion


    • svn로 사용할 디렉토리 생성과 svn daemon 프로세스 활성화 
      • svn의 데이터를 저장할 디렉토리 생성
      • svn이 서버로 동작하기 때문에 daemon을 실행시켜 서버를 실행
    morenice@ubuntu:/var$ cd /var/

    morenice@ubuntu:/var$ sudo mkdir subversion  # 디렉토리 생성
    [sudo] password for morenice:

    morenice@ubuntu:/var$ ls
    backups  cache  lib  local  lock  log  mail  opt  run  spool  subversion  tmp

    morenice@ubuntu:/var$ sudo svnserve -d -r /var/subversion/   # svnserve 서비스 활성화

    morenice@ubuntu:/var$ ps -ef |grep svnserve
    root          1181     1  0 00:29 ?        00:00:00 svnserve -d -r /var/subversion/
    morenice  1183  1128  0 00:29 pts/0    00:00:00 grep --color=auto svnserve

    [svn(Subversion) 프로젝트 설정]


    • svn의 Repository(저장소) 만들기
    morenice@ubuntu:/var/subversion$ sudo svnadmin create test_project


    • svn  권한 설정
      • anon-access : 로그인 하지 않은 사람들의 접근 권한
      • auth-access: 로그인을 한 상태에서의 접근 권한
      • password-db : 아이디와 패스워드를 저장하고 있는 파일 이름
      • authz-db : 데이터베이스의 접근 권한을 설정하는 파일 이름
      • realm : svn Repository의 이름 
    morenice@ubuntu:/var/subversion$  sudo vi  /var/subversion/test_project/conf/svnserve.conf

    [general]
    anon-access = read   // #(주석처리) 제거
    auth-access = write  // #(주석처리) 제거
    password-db = passwd  // #(주석처리) 제거
    authz-db = authz   // #(주석처리) 제거
    realm = Test Project Repository // #(주석처리) 제거
     


    •  svn  유저 만들기
    morenice@ubuntu:/var/subversion$ sudo vi  /var/subversion/test_project/conf/passwd

    [users]
    아이디 = 패스워드


    •  svn  유저 권한 설정
      •  개인이나 그룹을 직접 입력하여 정한 다음에, 디렉토리 별 권한을 설정합니다. *은 groups에 포함되지 않는 아이디에 대한 처리를 의미한다.
    morenice@ubuntu:/var/subversion$ sudo vi  /var/subversion/test_project/conf/authz

    [groups]
    admin= admin, morenice

    [/]
    @admin = rw
    *    = r

       * 부분(groups에 포함되지 않는 아이디)에 대해 명시를 하지 않으면, svn이 정상적으로 동작하지 않는다.


    •  svn Repository 디렉토리 생성

      •  기본 디렉토리 만들기 ( trunk, tags, branches )
      •  ->  새로 만든 Repository를 체크아웃 받고, 기본 디렉토리를 만들어서 commit

     

    morenice@ubuntu:/var/subversion/test_project$ cd ~

    morenice@ubuntu:~$ svn co svn://127.0.0.1/test_project  ./test_project

    morenice@ubuntu:~$ cd test_project/

    morenice@ubuntu:~/test_project$ svn info  # 체크아웃 받은 svn 정보 확인.

    Path: .

    URL: svn://127.0.0.1/test_project

    Repository Root: svn://127.0.0.1/test_project

    Repository UUID: 6f37738b-f1da-4263-b25b-a1b462d5088a

    Revision: 0

    Node Kind: directory

    Schedule: normal

    Last Changed Rev: 0

    Last Changed Date: 2010-09-19 00:49:29 -0700 (Sun, 19 Sep 2010)



    # 기본 디렉토리 생성

    morenice@ubuntu:/var/subversion/test_project$ svn mkdir trunk

    A         trunk

    morenice@ubuntu:/var/subversion/test_project$ svn mkdir tags

    A         tags

    morenice@ubuntu:/var/subversion/test_project$ svn mkdir branches

    A         branches

    morenice@ubuntu:/var/subversion/test_project$ svn ci -m "initialize directory"

    Authentication realm: <svn://127.0.0.1:3690> test_project

    Username: morenice

    Password for 'morenice':

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

    ATTENTION!  Your password for authentication realm:


       <svn://127.0.0.1:3690> test_project

    can only be stored to disk unencrypted!  You are advised to configure

    your system so that Subversion can store passwords encrypted, if

    possible.  See the documentation for details.


    You can avoid future appearances of this warning by setting the value

    of the 'store-plaintext-passwords' option to either 'yes' or 'no' in

    '/home/morenice/.subversion/servers'.

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

    Store password unencrypted (yes/no)? yes

    Adding         branches

    Adding         tags

    Adding         turnk

    At revision 1.


     



    반응형

    댓글

Designed by Tistory.