developerworks/Script

subversion 관련 스크립트..

수상한 김토끼 2013. 5. 14. 09:59

프로젝트를 하면서 subversion과 hudson을 was를 통해서 제어해야 하는 이슈가 생겼다.

 

작년에 내가 했던 방법은 사람이 모든 것을 다 하는 것이었고 그 때는 그것도 힘들었다.

 

이제 시간이 1년이 더 지났으니.. 자동화를 시도하고.. 그 기록을 남겨 둔다.

 

우선.. Subversion 같은 경우는 별다른 외부 api가 없는 듯 싶었다. 아마도 내가 못 찾은 것이겠지만..

그래서.. 직접 작성해 보았다.

 

# svnMakeProject.sh
#!/bin/bash
SVN_HOME=/ssw/repository
argc=$#
argv0=$0
argv1=$1
svnadmin create $SVN_HOME/$argv1
exit 0

인자값을 입력받아 svn project를 생성한다.

 

# svnSetting.sh
#!/bin/bash
SVN_HOME=/ssw/repository
argc=$#
argv0=$0
argv1=$1
# anon-access
sed -i "s/\# anon\-access \= read/anon\-access \= read/g" $SVN_HOME/$argv1/conf/svnserve.conf
# auth-access
sed -i "s/\# auth\-access \= write/auth\-access \= write/g" $SVN_HOME/$argv1/conf/svnserve.conf
#password-db
sed -i "s/\# password\-db \= passwd/password\-db \= passwd/g" $SVN_HOME/$argv1/conf/svnserve.conf
exit 0

svn을 사용하기 위한 설정을 해 주는 부분 인자 값으로 svn 프로젝트명으로 받는다.

해당 프로젝트 아래 conf 폴더 아래의 파일 내용을 수정 해 준다.

 

# svnUserAdd.sh
#!/bin/bash
SVN_HOME=/ssw/repository
argc=$#
argv0=$0
argv1=$1
argv2=$2
argv3=$3
echo "$argv2 = $argv3" >> $SVN_HOME/$argv1/conf/passwd
exit 0

passwd 파일 아래 부분에 유저명과 패스워드를 넣어주는 스크립트 인자값으로 svn 프로젝트명, 유저명, 패스워드를

입력한다.