Languages/Java2008.07.16 12:44

SVN 서버 준비 (with apache2)

sudo apt-get install libapache2-svn
위의 절차는 /usr/lib/apache2/modules/ 디렉터리에 mod_svn_dav.so(?) 파일을 깔기 위한 것.

그 다음에 /etc/apache2/conf.d/svn 파일 생성 후 다음과 같이 입력. 붉은 색으로 표시된 부분은 각자 입맛에 따라 바꾸면 됨.

<Location /svn/pe>
    DAV svn
    SVNPath /home/bjlee/work/svn/pe
        AuthType Basic
        AuthName "PE svn repository"
        AuthUserFile /home/bjlee/work/trac/pe/trac.htpasswd
        Require valid-user
</Location>

필자는 Trac 패스워드를 재사용하였다. 'developer'같은 멍청한 이름의 사용자를 두지 않는 한 괜찮을 듯. 어차피 Trac 시스템을 사용하는 사람들이 Eclipse를 써서 소스를 고치고 등록할테니.

그런 다음 /home/bjlee/work/svn/pe 디렉터리의 권한을 다음과 같이 수정.

addgroup bjlee www-data
sudo chown -R bjlee:www-data pe
sudo chmod -R g+w pe/
sudo chmod 444 pe/format pe/db/format

여기까지 한 다음 sudo apache2ctl restart 한다.
간혹 /etc/apache2/conf.d/svn 파일에 문제가 있다는 오류 메시지가 뜨기도 할텐데, 대부분 LoadModule를 추가하지 않아서 생기는 문제일 것. http://www.pyrasis.com/main/Subversion-HOWTO#s-4.2 이 문서를 참고해서 /etc/apache2/conf.d/svn 맨 윗줄에 추가해주면 된다. 필자는 안넣어도 되길래 그냥 넣지 않았다.

Subversion, m2clipse 플러그인 설치 (+with Eclipse)

Subversion plugin을 Eclipse에 설치하면 SVN 서버와 연동할 수 있다. 물론 SVN 서버는 상기 절차를 거쳐 apache2 서버를 통해 외부와 연동할 준비가 되어 있어야 한다.

ubversion 설치를 위해서는 update 사이트에 http://subclipse.tigris.org/update_1.4.x 를 추가. 그런 다음 m2clipse plugin 설치를 위한  http://m2eclipse.sonatype.org/update/ 사이트를 역시 update 사이트에 추가.

그런데 설치하려고 하다보면 equinox라는 플러그인에 대한 의존성을 해결할 수 없다고 불평할 때가 있음. 그런 경우에는 관련 플러그인들을 찾아서 설치하거나 Maven Integration for AJDT를 선택하지 않으면 문제를 해결할 수 있음.

Eclise에서 Maven 프로젝트를 생성하고 SVN 저장소에 등록해보자

프로젝트 생성 과정은 다음과 같다.
File->New->Maven Project
첫 번째 창에서 use default workspace location을 선택하고, 
두 번째 창에서 maven-archetype-quickstart를 선택한다. (Nexus Indexer가 선택된 상태라야 가능)
세 번째 창에서 필요한 값들을 입력하고 finish를 누르면 프로젝트가 생성된다.

프로젝트를 SVN 서버에 올리는 과정은 다음과 같다.
프로젝트 생성 후 프로젝트 이름 위에서 마우스 오른쪽 버튼 클릭 -> team -> share 선택하면
첫 번째 창에서 SVN 선택,
두 번째 창에서 리파지토리 위치 선택 (http://xxxx.../svn/pe)
그러고 나면 아이디랑 패스워드를 물어볼텐데, 그때는 적절히 아이디랑 패스워드를 입력해 주면 됨. (그에 대해서는 맨 위의 "SVN 서버 준비"의 관련 부분 참고.

맺으며

여기까지 하면 Eclipse를 통해 Maven 프로젝트를 생성하고, 중앙 저장소에 등록하는 준비가 끝난 셈이다. 이전 글에서 설명했던 MyLyn + Trac 연동만 제대로 되면, "이슈 추적 + 코드 공유"라는 큰 그림을 Eclipse를 통해 그리는 준비작업은 대략 끝난 셈이다.

이제 필요한 것은 SVN 저장소에 저장된 공유 코드들을 매일 빌드하고, 그 결과를 새로운 이슈로 만들어 Trac에 등록하는 작업을 어떻게 처리하느냐다.

그 부분은 다음 글에서 다루도록 하겠다.

신고
Posted by 이병준

소중한 의견, 감사합니다. ^^

Languages/Java2008.07.09 22:54
인터넷 찾아보면 여러가지 문서들이 나오지만... '가장 간단한 방법'은 3.3.x 대의 Eclipse 플랫폼을 사용하고, http://www.eclipse.org/mylyn/downloads/ 에 가서 download.eclipse.org/tools/mylyn/update/e3.3  (Eclipse 3.3)과 download.eclipse.org/tools/mylyn/update/extras  (Eclipse 3.3 and 3.4) 옆의 디스크 모양 버튼을 눌러, 관련 zip 파일을 다운받아 설치하는 것이다.

(Eclipse 3.4의 경우에도 크게 다르진 않은데, MyLyn 코어에 해당하는 부분은 그냥 Help->Software Update에서 Avaliable Software탭을 누르면 나오는 맨 윗 필드에 MyLyn을 입력하면 필터링 되어 나오는 플러그인들을 전부 설치하는 식으로 하는 것이 젤 낫고, 위 download.eclipse.org/tools/mylyn/update/extras에 해당하는 부분은 Add Site 버튼을 누른 뒤 http://download.eclipse.org/tools/mylyn/update/extras를 등록한 다음에 설치하는 것이 낫다. extras에 해당하는 부분 만이라면, 직접 받아서 아래와 같이 깔아도 되긴 된다. ^^;;)

다운받은 파일들을 각각 압축을 풀면, 그 안에 features와 plugins 디렉터리가 만들어지는 것을 볼 수 있다.

사용자 삽입 이미지

이 두 디렉터리'만' (site.xml은 제외) 카피하여 eclipse가 깔린 디렉터리 바로 아래에 붙여넣기 한다. 이미 그 디렉터리 안에 features 디렉터리와 plugins 디렉터리가 있으므로, 파일들이 해당 디렉터리 아래로 옮겨질 것이다.

이렇게 한 다음에 eclipse를 다시 띄운다.

그런 다음 Window->Show View->MyLyn->Task Repositories를 선택하고 OK 버튼을 누른다. 그러면 화면 하단에 Task Repository들의 목록이 출력된다.

Trac과 연동하기 위해서는 이 목록의 한 항목으로 Trac Repository를 추가하여야 한다. Task Repository 창에서 마우스 오른쪽 버튼을 누르고 Add Task Repository...를 선택하면 다음과 같은 창이 뜬다.

사용자 삽입 이미지

여기서 Trac을 선택하고 Next > 를 누르면, 다음과 같은 창이 뜨는 것을 볼 수 있다.

사용자 삽입 이미지

여기서 Server에는 http://<호스트 주소>/... 로 표기되는 Trac Server URL을 끝까지 적어주면 된다. Label에는 아무 말이나 Repository 이름을 적어주면 되는데, 관계된 프로젝트 이름을 적어주면 좋다. 그 아래쪽에는 Trac Server에 접속하는 데 필요한 사용자 ID와 패스워드를 적어주면 되고, 나머지는 특별히 건드릴 일이 없을 것이다.

유의할 것은, Additional Settings에 보면 Trac 서버와 연동하는 방식으로 Automatic, XML-RPC plugin, Web의 세가지 중 하나를 선택할 있게 되어 있는데, 보통은 Automatic으로 두면 무방하지만 Trac Server에 XML-RPC 플러그인을 설치하지 않은 경우에는 Web 연동이 기본적으로 선택되리라는 점이다.

Web을 통해 Trac과 연동하게 되면 Trac의 기능을 Eclipse와 매끄럽게 연동하여 쓰는 것이 불가능해지므로 (궁금하면 한번 확인해보기 바란다. 거의 웹 브라우저를 한쪽에 따로 띄워놓고 Eclipse로는 코딩만 하는 것과 별반 차이가 없어진다) 가능하면 Trac 서버에 XML-RPC 플러그인을 설치하기 바란다.

이 플러그인의 설치 방법에 대해서는 http://theeye.pe.kr/tag/XML-RPC 여기에 정리가 잘 되어 있으니 참고.

이 이후에 해야 할 일들에 대해서는 http://dogfeet.tistory.com/7 여기에 대충 나와 있으니 역시 참고. 단 Europa DIscovery Site에 관계된 부분은 건너뛸 것. Subclipse 설치를 마친 다음에는 Team Synchronize view에 관계된 부분부터 읽어나갈 것. 그 다음 부터는 최근의 MyLyn + Trac 상황과 조금씩 차이가 있을 수 있으므로 (버전업 때문) 대충 감안해서 읽어나갈 것.


신고
Posted by 이병준

소중한 의견, 감사합니다. ^^