'svn'에 해당되는 글 2건

  1. 2010.06.28 svn.bat
  2. 2009.05.14 SVN 커밋 후 자동 빌드 만들기

svn.bat

카테고리 없음 2010. 6. 28. 10:23
@echo off
d:
cd D:\svn_root
set /p pnm=프로젝트명을 입력해 주세요 :
echo 프로젝트 : %pnm% 생성
svnadmin create %pnm%

echo "http://localhost/svn/%pnm%/trunk 생성"
svn mkdir http://localhost/svn/%pnm%/trunk -m "trunk 기본 디렉토리 생성"

echo "http://localhost/svn/%pnm%/tags 생성"
svn mkdir http://localhost/svn/%pnm%/tags -m "tags 기본 디렉토리 생성"

echo "http://localhost/svn/%pnm%/branches 생성"
svn mkdir http://localhost/svn/%pnm%/branches -m "branches 기본 디렉토리 생성"


echo "프로젝트 : %pnm% 생성 완료"

echo "trac 프로젝트 : %pnm% 생성 시작"
trac-admin D:\trac_root\%pnm% initenv


echo "trac : %pnm% admin 등록 "
trac-admin D:\trac_root\%pnm% permission add admin TRAC_ADMIN
Posted by [czar]
,
작년에 프로젝트(이하 projectx)를 수행하던 중에 작성했던 것들을 정리하여 공개합니다. SI 프로젝트들이 늘 그렇듯이 쪼들리는 일정과 반복되는 요구사항 변경, 그리고 환경이 개판이지요. 그 전까지만 해도 몇년을 자동화된 툴을 사용하지 않고 ftp와 터미널을 사용하는 환경이었습니다. 개발툴이야 당연 eclipse였지만요. 그런데 projectx를 수행할 때는 제가 개발리더 역할을 맡았고, 서버 조정이나 환경등을 제가 설정해야 했습니다. 기회는 이때다 싶었죠. svn 설치, 설정을 하고 각 개발자들에게 사용법을 알려주었습니다. 그리고 마구 바뀌는 요구사항을 수용하기 위해 custom tag들을 만들었죠. svn 덕분에 소스 덮어치기 사고는 일어나지 않았지만, 하루에도 수십번을 빌드할 수 있는 상황은 바뀌지 않았습니다. 제가 cvs보다 svn을 좋아하는 이유는 svn이 event를 지원하는 것 때문이었는데, 그것을 이용해서 자동빌드/적용 환경을 꾸미게 되었습니다. svn repository에서 source root를 보면 hooks 라는 디렉토리가 있습니다. 그 안에는 [$SOURCE_ROOT/hooks ]$ ls post-lock.tmpl pre-commit.tmpl pre-unlock.tmpl post-revprop-change.tmpl pre-lock.tmpl start-commit.tmpl post-commit.tmpl post-nlock.tmpl pre-revprop-change.tmpl 라는 파일들이 있습니다. 이것들은 각 이벤트에 반응할 스크립트들의 템플릿인데요, 위의 파일에서 “.tmpl”을 빼서 저장하면 svnserve가 알아서 해당 스크립트를 실행합니다. 그 중 post-commit 스크립트는 커밋 이후에 실행되는 스크립트입니다. 저걸 수정하면 되지요. [$SOURCE_ROOT/hooks ]$ vi post-commit #!/bin/sh /home/svn/sample_script_post_commit.sh 위와같이 post-commit 파일을 생성해줍니다. 그 다음에 /home/svn/sample_script_post_commit.sh를 만들면 됩니다. 스크립트 기능은 “목표 바이너리 삭제 -> svn export -> build -> 바이너리 copy” 면 충분합니다. [$SOURCE_ROOT/hooks ]$ vi /home/svn/sample_script_post_commit.sh #!/bin/sh mkdir $APP_ROOT/WEB-INF/classes svn export svn://$SOURCE_ROOT $APP_ROOT/$SOURCE_ROOT –force –username $USERNAME –password $USERPASSWORD /home/svn/build.sh date > /home/svn/backup_gos_dev/lastbackup.log /home/svn/build.sh 는 ant를 이용한 빌드 스크립트입니다. 간단하죠. #!/bin/sh cd /home/svn export JAVA_HOME=/usr/java5 ant build.xml은 각자 프로젝트에 맞에 생성해주시면 됩니다. No related posts. Related posts brought to you by Yet Another Related Posts Plugin.
Posted by [czar]
,