"올바른 성장과 따뜻한 나눔"이 있는 넥스트리
새로운 개발장비가 들어와서 기존 개발장비에서 새 장비로 모두 이전하는 중 Maven release에서 이상한 에러가 발생했습니다.
환경
- 우분투 9.04 x86_64
- apache2
- svn 1.5.4
- maven 2.2.1
현상
Maven release prepare 하다가 맨 마지막에 svn tag 하는 곳에서 에러 발생
prompt> mvn -Dusername=dykim -Dpassword=xxxx release:prepare
....
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to tag SCM
Provider message:
The svn tag command failed.
Command output:
svn: Repository moved permanently to 'http://nextreesvn/common/'; please relocate
...
원인
SVN이 WebDAV로 서비스 되고 있고 SVN에서 tagging하기 위해 아파치 웹서버로 "PROPFIND /common HTTP/1.1" 요청을 하면 301을 응답합니다. 브라우저로 확인하거나 이클립스 subversive (subversion 플러그인)으로 별 이상없는데 maven release 플러그인에서 commit은 잘 되는데 svn tag 에서 이런 에러가 발생합니다.
해결책
구글링 해보니 SVN 301 이슈는 잘 알려진 것였습니다(http://subversion.tigris.org/faq.html#301-error)만 이 상황과는 다르다고 판단하고 2시간 삽질했습니다. (이전 서버와 설정이 동일한데...)
결정적으로 http://eerien.com/blog/165 블로그가 도움이 되었습니다. 아파치 virtual host 설정에서 DocumentRoot 설정을 삭제해야 합니다.
<VirtualHost *>
ServerName nextreesvn
ServerAlias nextreesvn nextreesvn
ErrorLog /var/log/apache2/error_svn.log
CustomLog /var/log/apache2/access_svn.log common
# DocumentRoot /home/svn
<Directory />
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Nextree Subversion Repository"
AuthUserFile /home/svn/dav_svn.passwd
Require valid-user
</Directory>
</VirtualHost>
세상에 도움을 준 모든 이들에게 감사합니다. ^^
'문제발생시' 카테고리의 다른 글
| GC log를 남기는 법 (0) | 2009/11/27 |
|---|---|
| JVM hang 걸렸을 때 thread dump 남기는 법 (0) | 2009/11/26 |
| Maven release시 SVN 301 에러 (0) | 2009/11/25 |
| 64 bit 우분투 머신에 Continuum 설치하기 (0) | 2009/11/24 |
| Tomcat과 MySql 사용하는데 가끔 Already closed 에러가 발생 (2) | 2009/11/13 |
| 특정 메소드를 누가 호출하는지 추적하기 (0) | 2009/10/16 |



